summaryrefslogtreecommitdiffstats
path: root/net/udp/udp_socket_libevent.h
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-11 22:15:09 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-11 22:15:09 +0000
commit33cdc9b854044864f7494c23a21f78733a961236 (patch)
tree5cff7b26780bc68451fb3917baea18bdb9f1c95a /net/udp/udp_socket_libevent.h
parenta7fb410b943d13c9f4aed11fe8d2774f990b3220 (diff)
downloadchromium_src-33cdc9b854044864f7494c23a21f78733a961236.zip
chromium_src-33cdc9b854044864f7494c23a21f78733a961236.tar.gz
chromium_src-33cdc9b854044864f7494c23a21f78733a961236.tar.bz2
Revert 77870 - UDP sockets implementation for windows.
BUG=None TEST=Unittests Review URL: http://codereview.chromium.org/6658027 TBR=sergeyu@chromium.org Review URL: http://codereview.chromium.org/6681014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77872 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/udp/udp_socket_libevent.h')
-rw-r--r--net/udp/udp_socket_libevent.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/net/udp/udp_socket_libevent.h b/net/udp/udp_socket_libevent.h
index 1a9fd6e..ebe01b2 100644
--- a/net/udp/udp_socket_libevent.h
+++ b/net/udp/udp_socket_libevent.h
@@ -6,6 +6,25 @@
#define NET_UDP_UDP_SOCKET_LIBEVENT_H_
#pragma once
+// UDPSocketLibevent
+// Accessor API for a UDP socket in either client or server form.
+//
+// Client form:
+// In this case, we're connecting to a specific server, so the client will
+// usually use:
+// Connect(address) // Connect to a UDP server
+// Read/Write // Reads/Writes all go to a single destination
+//
+// Server form:
+// In this case, we want to read/write to many clients which are connecting
+// to this server. First the server 'binds' to an addres, then we read from
+// clients and write responses to them.
+// Example:
+// Bind(address/port) // Binds to port for reading from clients
+// RecvFrom/SendTo // Each read can come from a different client
+// // Writes need to be directed to a specific
+// // address.
+
#include "base/message_loop.h"
#include "base/ref_counted.h"
#include "base/scoped_ptr.h"
@@ -14,6 +33,7 @@
#include "net/base/ip_endpoint.h"
#include "net/base/net_log.h"
#include "net/socket/client_socket.h"
+#include "net/udp/datagram_socket.h"
namespace net {
@@ -93,6 +113,8 @@ class UDPSocketLibevent : public base::NonThreadSafe {
// Returns true if the socket is already connected or bound.
bool is_connected() const { return socket_ != kInvalidSocket; }
+ IPEndPoint* local_address() { return local_address_.get(); }
+
private:
static const int kInvalidSocket = -1;
@@ -142,7 +164,7 @@ class UDPSocketLibevent : public base::NonThreadSafe {
// Returns the OS error code (or 0 on success).
int CreateSocket(const IPEndPoint& address);
- int InternalRead(IOBuffer* buf, int buf_len);
+ int InternalRead();
int InternalWrite(IOBuffer* buf, int buf_len);
int socket_;