Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(583)

Unified Diff: net/socket/transport_client_socket_pool.cc

Issue 451383002: Plumbing for TCP FastOpen for SSL sockets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added constructor param in TransportSocketParams to enable TFO (and some cleanup) Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/socket/transport_client_socket_pool.cc
diff --git a/net/socket/transport_client_socket_pool.cc b/net/socket/transport_client_socket_pool.cc
index cf247c032706793693d28b4ee8ba91848d140bff..e55ec7542a5a949cb4996409916ea133a0c6caf7 100644
--- a/net/socket/transport_client_socket_pool.cc
+++ b/net/socket/transport_client_socket_pool.cc
@@ -63,7 +63,22 @@ TransportSocketParams::TransportSocketParams(
const OnHostResolutionCallback& host_resolution_callback)
: destination_(host_port_pair),
ignore_limits_(ignore_limits),
- host_resolution_callback_(host_resolution_callback) {
+ host_resolution_callback_(host_resolution_callback),
+ use_tcp_fastopen_if_supported_(false) {
+ if (disable_resolver_cache)
+ destination_.set_allow_cached_response(false);
+}
+
+TransportSocketParams::TransportSocketParams(
+ const HostPortPair& host_port_pair,
+ bool disable_resolver_cache,
+ bool ignore_limits,
+ const OnHostResolutionCallback& host_resolution_callback,
+ bool use_tcp_fastopen_if_supported)
+ : destination_(host_port_pair),
+ ignore_limits_(ignore_limits),
+ host_resolution_callback_(host_resolution_callback),
+ use_tcp_fastopen_if_supported_(use_tcp_fastopen_if_supported) {
if (disable_resolver_cache)
destination_.set_allow_cached_response(false);
}
@@ -261,6 +276,10 @@ int TransportConnectJob::DoTransportConnect() {
transport_socket_ =
helper_.client_socket_factory()->CreateTransportClientSocket(
helper_.addresses(), net_log().net_log(), net_log().source());
+
+ if (helper_.params()->use_tcp_fastopen_if_supported())
+ transport_socket_->EnableTCPFastOpen();
+
int rv = transport_socket_->Connect(helper_.on_io_complete());
if (rv == ERR_IO_PENDING &&
helper_.addresses().front().GetFamily() == ADDRESS_FAMILY_IPV6 &&
« net/socket/tcp_socket_libevent.cc ('K') | « net/socket/transport_client_socket_pool.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698