Cleanup setting of 'sysroot' in common.gypi
[chromium-blink-merge.git] / net / udp / udp_socket.h
bloba468304ffb8f5548311a7e8c43f242eecb9a3fa7
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef NET_UDP_UDP_SOCKET_H_
6 #define NET_UDP_UDP_SOCKET_H_
8 #include "build/build_config.h"
10 #if defined(OS_WIN)
11 #include "net/udp/udp_socket_win.h"
12 #elif defined(OS_POSIX)
13 #include "net/udp/udp_socket_posix.h"
14 #endif
16 namespace net {
18 // UDPSocket
19 // Accessor API for a UDP socket in either client or server form.
21 // Client form:
22 // In this case, we're connecting to a specific server, so the client will
23 // usually use:
24 // Open(address_family) // Open a socket.
25 // Connect(address) // Connect to a UDP server
26 // Read/Write // Reads/Writes all go to a single destination
28 // Server form:
29 // In this case, we want to read/write to many clients which are connecting
30 // to this server. First the server 'binds' to an addres, then we read from
31 // clients and write responses to them.
32 // Example:
33 // Open(address_family) // Open a socket.
34 // Bind(address/port) // Binds to port for reading from clients
35 // RecvFrom/SendTo // Each read can come from a different client
36 // // Writes need to be directed to a specific
37 // // address.
38 #if defined(OS_WIN)
39 typedef UDPSocketWin UDPSocket;
40 #elif defined(OS_POSIX)
41 typedef UDPSocketPosix UDPSocket;
42 #endif
44 } // namespace net
46 #endif // NET_UDP_UDP_SOCKET_H_