| Index: net/quic/quic_stream_factory.cc
|
| diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
|
| index 203f07ecb1646670ba0f517adadd23639d559671..8497b7c7fdf49fd3ca3d50823b865bb826b1fd56 100644
|
| --- a/net/quic/quic_stream_factory.cc
|
| +++ b/net/quic/quic_stream_factory.cc
|
| @@ -37,6 +37,7 @@
|
| #include "net/quic/quic_protocol.h"
|
| #include "net/quic/quic_server_id.h"
|
| #include "net/socket/client_socket_factory.h"
|
| +#include "net/udp/udp_client_socket.h"
|
|
|
| #if defined(OS_WIN)
|
| #include "base/win/windows_version.h"
|
| @@ -596,6 +597,7 @@ QuicStreamFactory::QuicStreamFactory(
|
| float load_server_info_timeout_srtt_multiplier,
|
| bool enable_truncated_connection_ids,
|
| bool enable_connection_racing,
|
| + bool enable_nonblocking_io,
|
| bool disable_disk_cache,
|
| const QuicTagVector& connection_options)
|
| : require_confirmation_(true),
|
| @@ -619,6 +621,7 @@ QuicStreamFactory::QuicStreamFactory(
|
| load_server_info_timeout_srtt_multiplier),
|
| enable_truncated_connection_ids_(enable_truncated_connection_ids),
|
| enable_connection_racing_(enable_connection_racing),
|
| + enable_nonblocking_io_(enable_nonblocking_io),
|
| disable_disk_cache_(disable_disk_cache),
|
| port_seed_(random_generator_->RandUint64()),
|
| check_persisted_supports_quic_(true),
|
| @@ -1012,6 +1015,13 @@ int QuicStreamFactory::CreateSession(
|
| base::Bind(&PortSuggester::SuggestPort, port_suggester),
|
| net_log.net_log(), net_log.source()));
|
|
|
| + if (enable_nonblocking_io_ &&
|
| + client_socket_factory_ == ClientSocketFactory::GetDefaultFactory()) {
|
| +#if defined(OS_WIN)
|
| + static_cast<UDPClientSocket*>(socket.get())->UseNonBlockingIO();
|
| +#endif
|
| + }
|
| +
|
| // TODO(vadimt): Remove ScopedTracker below once crbug.com/422516 is fixed.
|
| tracked_objects::ScopedTracker tracking_profile2(
|
| FROM_HERE_WITH_EXPLICIT_FUNCTION(
|
|
|