• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #ifndef NET_UDP_UDP_SOCKET_H_
6 #define NET_UDP_UDP_SOCKET_H_
7 #pragma once
8 
9 #include "build/build_config.h"
10 
11 #if defined(OS_WIN)
12 #include "net/udp/udp_socket_win.h"
13 #elif defined(OS_POSIX)
14 #include "net/udp/udp_socket_libevent.h"
15 #endif
16 
17 namespace net {
18 
19 // UDPSocket
20 // Accessor API for a UDP socket in either client or server form.
21 //
22 // Client form:
23 // In this case, we're connecting to a specific server, so the client will
24 // usually use:
25 //       Connect(address)    // Connect to a UDP server
26 //       Read/Write          // Reads/Writes all go to a single destination
27 //
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 //       Bind(address/port)  // Binds to port for reading from clients
34 //       RecvFrom/SendTo     // Each read can come from a different client
35 //                           // Writes need to be directed to a specific
36 //                           // address.
37 #if defined(OS_WIN)
38 typedef UDPSocketWin UDPSocket;
39 #elif defined(OS_POSIX)
40 typedef UDPSocketLibevent UDPSocket;
41 #endif
42 
43 }  // namespace net
44 
45 #endif  // NET_UDP_UDP_SOCKET_H_
46