Index: net/udp/udp_socket_libevent.h |
diff --git a/net/udp/udp_socket_libevent.h b/net/udp/udp_socket_libevent.h |
index 2ac564debc533752d038b81a9b76312ecf0cc920..32eb10ac69617fde1bf9c162422ecd1bdf225548 100644 |
--- a/net/udp/udp_socket_libevent.h |
+++ b/net/udp/udp_socket_libevent.h |
@@ -94,9 +94,11 @@ class NET_EXPORT UDPSocketLibevent : public base::NonThreadSafe { |
const CompletionCallback& callback); |
// Set the receive buffer size (in bytes) for the socket. |
+ // Returns a net error code. |
int SetReceiveBufferSize(int32 size); |
// Set the send buffer size (in bytes) for the socket. |
+ // Returns a net error code. |
int SetSendBufferSize(int32 size); |
// Returns true if the socket is already connected or bound. |
@@ -104,15 +106,23 @@ class NET_EXPORT UDPSocketLibevent : public base::NonThreadSafe { |
const BoundNetLog& NetLog() const { return net_log_; } |
- // Sets corresponding flags in |socket_options_| to allow the socket |
- // to share the local address to which the socket will be bound with |
- // other processes. Should be called before Bind(). |
- void AllowAddressReuse(); |
+ // Allows the socket to share the local address to which the socket will be |
+ // bound with other processes. |
+ // Returns a net error code. |
+ int AllowAddressReuse(); |
+ |
+ // Disallows the socket to share the local address to which the socket will |
+ // be bound with other processes. |
+ // Returns a net error code. |
+ int DisallowAddressReuse(); |
+ |
+ // Allows sending and receiving packets to and from broadcast addresses. |
+ // Returns a net error code. |
+ int AllowBroadcast(); |
- // Sets corresponding flags in |socket_options_| to allow sending |
- // and receiving packets to and from broadcast addresses. Should be |
- // called before Bind(). |
- void AllowBroadcast(); |
+ // Disallows sending and receiving packets to and from broadcast addresses. |
+ // Returns a net error code. |
+ int DisallowBroadcast(); |
// Join the multicast group. |
// |group_address| is the group address to join, could be either |
@@ -170,7 +180,9 @@ class NET_EXPORT UDPSocketLibevent : public base::NonThreadSafe { |
enum SocketOptions { |
SOCKET_OPTION_REUSE_ADDRESS = 1 << 0, |
SOCKET_OPTION_BROADCAST = 1 << 1, |
- SOCKET_OPTION_MULTICAST_LOOP = 1 << 2 |
+ SOCKET_OPTION_MULTICAST_LOOP = 1 << 2, |
+ SOCKET_OPTION_RCVBUF_SIZE = 1 << 3, |
+ SOCKET_OPTION_SNDBUF_SIZE = 1 << 4 |
}; |
class ReadWatcher : public base::MessageLoopForIO::Watcher { |
@@ -236,6 +248,11 @@ class NET_EXPORT UDPSocketLibevent : public base::NonThreadSafe { |
// Applies |socket_options_| to |socket_|. Should be called before |
// Bind(). |
int SetSocketOptions(); |
+ int SetAddressReuseInternal(bool value); |
jar (doing other things)
2014/11/04 22:51:09
nit: use better variable name than |value|.
Perha
hidehiko
2014/11/05 12:48:30
Done.
|
+ int SetBroadcastInternal(bool value); |
+ int SetReceiveBufferSizeInternal(int32 size); |
+ int SetSendBufferSizeInternal(int32 size); |
+ |
int DoBind(const IPEndPoint& address); |
// Binds to a random port on |address|. |
int RandomBind(const IPAddressNumber& address); |
@@ -247,6 +264,11 @@ class NET_EXPORT UDPSocketLibevent : public base::NonThreadSafe { |
// options that should be applied to |socket_| before Bind(). |
int socket_options_; |
+ // Buffer size set before Bind(). This should be applied |
+ // in SetSocketOptions(). |
+ int32 rcvbuf_size_; |
+ int32 sndbuf_size_; |
+ |
// Multicast interface. |
uint32 multicast_interface_; |