1 // Copyright (c) 2006-2009 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_SOCKET_TCP_CLIENT_SOCKET_H_ 6 #define NET_SOCKET_TCP_CLIENT_SOCKET_H_ 7 #pragma once 8 9 #include "build/build_config.h" 10 11 #if defined(OS_WIN) 12 #include "net/socket/tcp_client_socket_win.h" 13 #elif defined(OS_POSIX) 14 #include "net/socket/tcp_client_socket_libevent.h" 15 #endif 16 17 namespace net { 18 19 // A client socket that uses TCP as the transport layer. 20 #if defined(OS_WIN) 21 typedef TCPClientSocketWin TCPClientSocket; 22 #elif defined(OS_POSIX) 23 typedef TCPClientSocketLibevent TCPClientSocket; 24 #endif 25 26 // Enable/disable experimental TCP FastOpen option. 27 // Not thread safe. Must be called during initialization/startup only. 28 void set_tcp_fastopen_enabled(bool value); 29 30 // Check if the TCP FastOpen option is enabled. 31 bool is_tcp_fastopen_enabled(); 32 33 } // namespace net 34 35 #endif // NET_SOCKET_TCP_CLIENT_SOCKET_H_ 36