| 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/chromium/quic_stream_factory.h" | 5 #include "net/quic/chromium/quic_stream_factory.h" |
| 6 | 6 |
| 7 #include <openssl/aead.h> | 7 #include <openssl/aead.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <tuple> | 10 #include <tuple> |
| (...skipping 1247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1258 void QuicStreamFactory::OnIPAddressChanged() { | 1258 void QuicStreamFactory::OnIPAddressChanged() { |
| 1259 status_ = OPEN; | 1259 status_ = OPEN; |
| 1260 CloseAllSessions(ERR_NETWORK_CHANGED, QUIC_IP_ADDRESS_CHANGED); | 1260 CloseAllSessions(ERR_NETWORK_CHANGED, QUIC_IP_ADDRESS_CHANGED); |
| 1261 set_require_confirmation(true); | 1261 set_require_confirmation(true); |
| 1262 } | 1262 } |
| 1263 | 1263 |
| 1264 void QuicStreamFactory::OnNetworkConnected(NetworkHandle network) { | 1264 void QuicStreamFactory::OnNetworkConnected(NetworkHandle network) { |
| 1265 status_ = OPEN; | 1265 status_ = OPEN; |
| 1266 ScopedConnectionMigrationEventLog scoped_event_log(net_log_, | 1266 ScopedConnectionMigrationEventLog scoped_event_log(net_log_, |
| 1267 "OnNetworkConnected"); | 1267 "OnNetworkConnected"); |
| 1268 for (auto session : all_sessions_) { | 1268 QuicStreamFactory::SessionIdMap::iterator it = all_sessions_.begin(); |
| 1269 session.first->OnNetworkConnected(network, scoped_event_log.net_log()); | 1269 // Sessions may be deleted while iterating through the map. |
| 1270 while (it != all_sessions_.end()) { |
| 1271 QuicChromiumClientSession* session = it->first; |
| 1272 ++it; |
| 1273 session->OnNetworkConnected(network, scoped_event_log.net_log()); |
| 1270 } | 1274 } |
| 1271 } | 1275 } |
| 1272 | 1276 |
| 1273 void QuicStreamFactory::OnNetworkMadeDefault(NetworkHandle network) { | 1277 void QuicStreamFactory::OnNetworkMadeDefault(NetworkHandle network) { |
| 1274 ScopedConnectionMigrationEventLog scoped_event_log(net_log_, | 1278 ScopedConnectionMigrationEventLog scoped_event_log(net_log_, |
| 1275 "OnNetworkMadeDefault"); | 1279 "OnNetworkMadeDefault"); |
| 1276 DCHECK_NE(NetworkChangeNotifier::kInvalidNetworkHandle, network); | 1280 DCHECK_NE(NetworkChangeNotifier::kInvalidNetworkHandle, network); |
| 1277 MaybeMigrateOrCloseSessions(network, /*close_if_cannot_migrate=*/false, | 1281 MaybeMigrateOrCloseSessions(network, /*close_if_cannot_migrate=*/false, |
| 1278 scoped_event_log.net_log()); | 1282 scoped_event_log.net_log()); |
| 1279 set_require_confirmation(true); | 1283 set_require_confirmation(true); |
| (...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1866 // Since the session was active, there's no longer an | 1870 // Since the session was active, there's no longer an |
| 1867 // HttpStreamFactoryImpl::Job running which can mark it broken, unless the TCP | 1871 // HttpStreamFactoryImpl::Job running which can mark it broken, unless the TCP |
| 1868 // job also fails. So to avoid not using QUIC when we otherwise could, we mark | 1872 // job also fails. So to avoid not using QUIC when we otherwise could, we mark |
| 1869 // it as recently broken, which means that 0-RTT will be disabled but we'll | 1873 // it as recently broken, which means that 0-RTT will be disabled but we'll |
| 1870 // still race. | 1874 // still race. |
| 1871 http_server_properties_->MarkAlternativeServiceRecentlyBroken( | 1875 http_server_properties_->MarkAlternativeServiceRecentlyBroken( |
| 1872 alternative_service); | 1876 alternative_service); |
| 1873 } | 1877 } |
| 1874 | 1878 |
| 1875 } // namespace net | 1879 } // namespace net |
| OLD | NEW |