Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(960)

Unified Diff: net/udp/udp_socket_libevent.h

Issue 690903002: Remove timing limitation of SetOption invocation for PPAPI sockets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698