From 5477d890353c732bbd0c16d8a3c5ce56a52ee2fe Mon Sep 17 00:00:00 2001 From: "simonjam@chromium.org" Date: Thu, 1 Mar 2012 21:31:31 +0000 Subject: Add a force pipelining option to load flags. Details: - Add a HttpPipelinedHostForced class for connections with forced requests. + Forced requests get their own pipeline and there's only one per host. + They always try to pipeline and won't retry if evicted. + Only one HttpStreamFactoryImpl::Job runs for all requests to the same origin with forced pipelining. All requests will fail if that Job fails. - Track HttpPipelinedHosts with a Key. Right now that's origin and force-pipelining, but it might be expanded to include content type. - Add a BufferedWriteStreamSocket that wraps a normal socket. It buffers Write() calls until a task fires to dispatch the buffer to the underlying socket. BUG=110794 TEST=net_unittests and unit_tests Review URL: http://codereview.chromium.org/9433015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124487 0039d316-1c4b-4281-b951-d872f2087c98 --- net/net.gyp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'net/net.gyp') diff --git a/net/net.gyp b/net/net.gyp index 87c6d8e..b2b4aad 100644 --- a/net/net.gyp +++ b/net/net.gyp @@ -445,8 +445,11 @@ 'http/http_pipelined_connection.h', 'http/http_pipelined_connection_impl.cc', 'http/http_pipelined_connection_impl.h', + 'http/http_pipelined_host.cc', 'http/http_pipelined_host.h', 'http/http_pipelined_host_capability.h', + 'http/http_pipelined_host_forced.cc', + 'http/http_pipelined_host_forced.h', 'http/http_pipelined_host_impl.cc', 'http/http_pipelined_host_impl.h', 'http/http_pipelined_host_pool.cc', @@ -564,6 +567,8 @@ 'proxy/sync_host_resolver.h', 'proxy/sync_host_resolver_bridge.cc', 'proxy/sync_host_resolver_bridge.h', + 'socket/buffered_write_stream_socket.cc', + 'socket/buffered_write_stream_socket.h', 'socket/client_socket_factory.cc', 'socket/client_socket_factory.h', 'socket/client_socket_handle.cc', @@ -1120,8 +1125,11 @@ 'http/http_network_layer_unittest.cc', 'http/http_network_transaction_unittest.cc', 'http/http_pipelined_connection_impl_unittest.cc', + 'http/http_pipelined_host_forced_unittest.cc', 'http/http_pipelined_host_impl_unittest.cc', 'http/http_pipelined_host_pool_unittest.cc', + 'http/http_pipelined_host_test_util.cc', + 'http/http_pipelined_host_test_util.h', 'http/http_pipelined_network_transaction_unittest.cc', 'http/http_proxy_client_socket_pool_unittest.cc', 'http/http_request_headers_unittest.cc', @@ -1160,6 +1168,7 @@ 'proxy/proxy_server_unittest.cc', 'proxy/proxy_service_unittest.cc', 'proxy/sync_host_resolver_bridge_unittest.cc', + 'socket/buffered_write_stream_socket_unittest.cc', 'socket/client_socket_pool_base_unittest.cc', 'socket/deterministic_socket_data_unittest.cc', 'socket/mock_client_socket_pool_manager.cc', -- cgit v1.1