OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/quic/quic_stream_factory.h" | 5 #include "net/quic/quic_stream_factory.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <tuple> | 8 #include <tuple> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 1458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1469 int QuicStreamFactory::ConfigureSocket(DatagramClientSocket* socket, | 1469 int QuicStreamFactory::ConfigureSocket(DatagramClientSocket* socket, |
1470 IPEndPoint addr, | 1470 IPEndPoint addr, |
1471 NetworkHandle network) { | 1471 NetworkHandle network) { |
1472 if (enable_non_blocking_io_ && | 1472 if (enable_non_blocking_io_ && |
1473 client_socket_factory_ == ClientSocketFactory::GetDefaultFactory()) { | 1473 client_socket_factory_ == ClientSocketFactory::GetDefaultFactory()) { |
1474 #if defined(OS_WIN) | 1474 #if defined(OS_WIN) |
1475 static_cast<UDPClientSocket*>(socket)->UseNonBlockingIO(); | 1475 static_cast<UDPClientSocket*>(socket)->UseNonBlockingIO(); |
1476 #endif | 1476 #endif |
1477 } | 1477 } |
1478 | 1478 |
| 1479 #if defined(OS_WIN) |
| 1480 // TODO(rtenneti): Delete the check for TSVIPCli.dll loaded and the histogram. |
| 1481 bool tsvipcli_loaded = ::GetModuleHandle(L"TSVIPCli.dll") != NULL; |
| 1482 UMA_HISTOGRAM_BOOLEAN("Net.QuicStreamFactory.TSVIPCliIsLoaded", |
| 1483 tsvipcli_loaded); |
| 1484 #endif |
| 1485 |
1479 int rv; | 1486 int rv; |
1480 if (migrate_sessions_on_network_change_) { | 1487 if (migrate_sessions_on_network_change_) { |
1481 // If caller leaves network unspecified, use current default network. | 1488 // If caller leaves network unspecified, use current default network. |
1482 if (network == NetworkChangeNotifier::kInvalidNetworkHandle) { | 1489 if (network == NetworkChangeNotifier::kInvalidNetworkHandle) { |
1483 rv = socket->ConnectUsingDefaultNetwork(addr); | 1490 rv = socket->ConnectUsingDefaultNetwork(addr); |
1484 } else { | 1491 } else { |
1485 rv = socket->ConnectUsingNetwork(network, addr); | 1492 rv = socket->ConnectUsingNetwork(network, addr); |
1486 } | 1493 } |
1487 } else { | 1494 } else { |
1488 rv = socket->Connect(addr); | 1495 rv = socket->Connect(addr); |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1787 // Since the session was active, there's no longer an | 1794 // Since the session was active, there's no longer an |
1788 // HttpStreamFactoryImpl::Job running which can mark it broken, unless the TCP | 1795 // HttpStreamFactoryImpl::Job running which can mark it broken, unless the TCP |
1789 // job also fails. So to avoid not using QUIC when we otherwise could, we mark | 1796 // job also fails. So to avoid not using QUIC when we otherwise could, we mark |
1790 // it as recently broken, which means that 0-RTT will be disabled but we'll | 1797 // it as recently broken, which means that 0-RTT will be disabled but we'll |
1791 // still race. | 1798 // still race. |
1792 http_server_properties_->MarkAlternativeServiceRecentlyBroken( | 1799 http_server_properties_->MarkAlternativeServiceRecentlyBroken( |
1793 alternative_service); | 1800 alternative_service); |
1794 } | 1801 } |
1795 | 1802 |
1796 } // namespace net | 1803 } // namespace net |
OLD | NEW |