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

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

Issue 2789093003: Mark QUIC broken when the network blackholes after the handshake (Closed)
Patch Set: Address 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
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 99a379129534dd86e2bccab02a56fffca1074fdd..71f055c28ee39c7b4b4a2800e943e25472444c1c 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;
@@ -145,6 +145,7 @@ class NET_EXPORT_PRIVATE QuicStreamRequest {
private:
QuicStreamFactory* factory_;
HttpServerProperties* http_server_properties_;
+ bool mark_quic_broken_when_network_suspected_;
QuicServerId server_id_;
NetLogWithSource net_log_;
CompletionCallback callback_;
@@ -220,6 +221,7 @@ class NET_EXPORT_PRIVATE QuicStreamFactory
int max_server_configs_stored_in_properties,
bool close_sessions_on_ip_change,
bool disable_quic_on_timeout_with_open_streams,
+ bool mark_quic_broken_when_network_suspected,
int idle_connection_timeout_seconds,
int reduced_ping_timeout_seconds,
int packet_reader_yield_after_duration_milliseconds,
@@ -376,7 +378,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;
@@ -406,6 +408,10 @@ class NET_EXPORT_PRIVATE QuicStreamFactory
return migrate_sessions_on_network_change_;
}
+ bool mark_quic_broken_when_network_suspected() const {
+ return mark_quic_broken_when_network_suspected_;
+ }
+
// 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,
@@ -552,7 +558,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_;
@@ -611,6 +617,10 @@ class NET_EXPORT_PRIVATE QuicStreamFactory
// streams.
bool disable_quic_on_timeout_with_open_streams_;
+ // True if QUIC should be marked as broken when a stream is closed with
+ // a possibly network-caused error.
+ bool mark_quic_broken_when_network_suspected_;
+
// Number of times in a row that QUIC has been disabled.
int consecutive_disabled_count_;
bool need_to_evaluate_consecutive_disabled_count_;

Powered by Google App Engine
This is Rietveld 408576698