Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(384)

Unified Diff: net/quic/chromium/quic_stream_factory.h

Issue 2789093003: Mark QUIC broken when the network blackholes after the handshake (Closed)
Patch Set: jana's comments Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/chromium/quic_network_transaction_unittest.cc ('k') | net/quic/chromium/quic_stream_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/chromium/quic_stream_factory.h
diff --git a/net/quic/chromium/quic_stream_factory.h b/net/quic/chromium/quic_stream_factory.h
index 89a6760e877e6052e04b52054aa023961494c080..7edae1300fc17927e186c49e4d80665df69bb597 100644
--- a/net/quic/chromium/quic_stream_factory.h
+++ b/net/quic/chromium/quic_stream_factory.h
@@ -61,7 +61,7 @@ class HttpServerProperties;
class NetLog;
class ProxyDelegate;
class QuicClock;
-class QuicChromiumAlarmFactory;
+class QuicAlarmFactory;
class QuicChromiumConnectionHelper;
class QuicCryptoClientStreamFactory;
class QuicRandom;
@@ -219,6 +219,7 @@ class NET_EXPORT_PRIVATE QuicStreamFactory
bool delay_tcp_race,
int max_server_configs_stored_in_properties,
bool close_sessions_on_ip_change,
+ bool mark_quic_broken_when_network_blackholes,
int idle_connection_timeout_seconds,
int reduced_ping_timeout_seconds,
int packet_reader_yield_after_duration_milliseconds,
@@ -270,8 +271,8 @@ class NET_EXPORT_PRIVATE QuicStreamFactory
// Called by a session after it shuts down.
void OnSessionClosed(QuicChromiumClientSession* session);
- // Called by a session when it times out with open streams.
- void OnTimeoutWithOpenStreams();
+ // Called by a session when it blackholes after the handshake is confirmed.
+ void OnBlackholeAfterHandshakeConfirmed(QuicChromiumClientSession* session);
// Cancels a pending request.
void CancelRequest(QuicStreamRequest* request);
@@ -372,7 +373,7 @@ class NET_EXPORT_PRIVATE QuicStreamFactory
QuicChromiumConnectionHelper* helper() { return helper_.get(); }
- QuicChromiumAlarmFactory* alarm_factory() { return alarm_factory_.get(); }
+ QuicAlarmFactory* alarm_factory() { return alarm_factory_.get(); }
bool has_quic_server_info_factory() const {
return quic_server_info_factory_.get() != nullptr;
@@ -402,6 +403,10 @@ class NET_EXPORT_PRIVATE QuicStreamFactory
return migrate_sessions_on_network_change_;
}
+ bool mark_quic_broken_when_network_blackholes() const {
+ return mark_quic_broken_when_network_blackholes_;
+ }
+
// Dumps memory allocation stats. |parent_dump_absolute_name| is the name
// used by the parent MemoryAllocatorDump in the memory dump hierarchy.
void DumpMemoryStats(base::trace_event::ProcessMemoryDump* pmd,
@@ -535,7 +540,7 @@ class NET_EXPORT_PRIVATE QuicStreamFactory
std::unique_ptr<QuicChromiumConnectionHelper> helper_;
// The alarm factory used for all connections.
- std::unique_ptr<QuicChromiumAlarmFactory> alarm_factory_;
+ std::unique_ptr<QuicAlarmFactory> alarm_factory_;
// Contains owning pointers to all sessions that currently exist.
SessionIdMap all_sessions_;
@@ -590,6 +595,10 @@ class NET_EXPORT_PRIVATE QuicStreamFactory
// Set if AES-GCM should be preferred, even if there is no hardware support.
bool prefer_aes_;
+ // True if QUIC should be marked as broken when a connection blackholes after
+ // the handshake is confirmed.
+ bool mark_quic_broken_when_network_blackholes_;
+
// Size of the UDP receive buffer.
int socket_receive_buffer_size_;
« no previous file with comments | « net/quic/chromium/quic_network_transaction_unittest.cc ('k') | net/quic/chromium/quic_stream_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698