|  | // 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_SOCKET_UDP_SOCKET_H_ | 
|  | #define NET_SOCKET_UDP_SOCKET_H_ | 
|  |  | 
|  | #include "build/build_config.h" | 
|  |  | 
|  | #if defined(OS_WIN) | 
|  | #include "net/socket/udp_socket_win.h" | 
|  | #elif defined(OS_POSIX) || defined(OS_FUCHSIA) | 
|  | #include "net/socket/udp_socket_posix.h" | 
|  | #elif defined(STARBOARD) | 
|  | #include "net/socket/udp_socket_starboard.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: | 
|  | //       Open(address_family)  // Open a socket. | 
|  | //       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: | 
|  | //       Open(address_family)  // Open a socket. | 
|  | //       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) || defined(OS_FUCHSIA) | 
|  | typedef UDPSocketPosix UDPSocket; | 
|  | #elif defined(STARBOARD) | 
|  | typedef UDPSocketStarboard UDPSocket; | 
|  | #endif | 
|  |  | 
|  | }  // namespace net | 
|  |  | 
|  | #endif  // NET_SOCKET_UDP_SOCKET_H_ |