summaryrefslogtreecommitdiff
path: root/chromium/net/udp/udp_socket.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/udp/udp_socket.h')
-rw-r--r--chromium/net/udp/udp_socket.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/chromium/net/udp/udp_socket.h b/chromium/net/udp/udp_socket.h
new file mode 100644
index 00000000000..97a4bc57bb2
--- /dev/null
+++ b/chromium/net/udp/udp_socket.h
@@ -0,0 +1,44 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef NET_UDP_UDP_SOCKET_H_
+#define NET_UDP_UDP_SOCKET_H_
+
+#include "build/build_config.h"
+
+#if defined(OS_WIN)
+#include "net/udp/udp_socket_win.h"
+#elif defined(OS_POSIX)
+#include "net/udp/udp_socket_libevent.h"
+#endif
+
+namespace net {
+
+// UDPSocket
+// 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.
+#if defined(OS_WIN)
+typedef UDPSocketWin UDPSocket;
+#elif defined(OS_POSIX)
+typedef UDPSocketLibevent UDPSocket;
+#endif
+
+} // namespace net
+
+#endif // NET_UDP_UDP_SOCKET_H_