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