| Index: net/quic/quic_stream_factory.cc
|
| diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
|
| index bf8bd4df5731386c50a4cb66311edac1a9245e5a..092c48ca6f9caff6a1357980a558ad7b7b989f6d 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"
|
| @@ -597,6 +598,7 @@
|
| float load_server_info_timeout_srtt_multiplier,
|
| bool enable_truncated_connection_ids,
|
| bool enable_connection_racing,
|
| + bool enable_non_blocking_io,
|
| bool disable_disk_cache,
|
| int socket_receive_buffer_size,
|
| const QuicTagVector& connection_options)
|
| @@ -621,6 +623,7 @@
|
| load_server_info_timeout_srtt_multiplier),
|
| enable_truncated_connection_ids_(enable_truncated_connection_ids),
|
| enable_connection_racing_(enable_connection_racing),
|
| + enable_non_blocking_io_(enable_non_blocking_io),
|
| disable_disk_cache_(disable_disk_cache),
|
| socket_receive_buffer_size_(socket_receive_buffer_size),
|
| port_seed_(random_generator_->RandUint64()),
|
| @@ -1015,6 +1018,13 @@
|
| base::Bind(&PortSuggester::SuggestPort, port_suggester),
|
| net_log.net_log(), net_log.source()));
|
|
|
| + if (enable_non_blocking_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(
|
|
|