Change QuicStreamFactory::Job to retry a new connection on alternate network.
Change QSF::Job to create a new connection on the alternate network if the original connection fails on the default network before handshake is confirmed.
Bug: 790547
Change-Id: I161c09bf97f98540dd8eb6e83c811ca34d31f883
Reviewed-on: https://chromium-review.googlesource.com/1175191
Reviewed-by: Ryan Hamilton <[email protected]>
Commit-Queue: Ryan Hamilton <[email protected]>
Cr-Commit-Position: refs/heads/master@{#583443}
diff --git a/net/quic/quic_stream_factory.h b/net/quic/quic_stream_factory.h
index ca5e01c..3b4a2cc 100644
--- a/net/quic/quic_stream_factory.h
+++ b/net/quic/quic_stream_factory.h
@@ -242,6 +242,7 @@
int max_idle_time_before_crypto_handshake_seconds,
bool migrate_sessions_on_network_change_v2,
bool migrate_sessions_early_v2,
+ bool retry_on_alternate_network_before_handshake,
bool go_away_on_path_degrading,
base::TimeDelta max_time_on_non_default_network,
int max_migrations_to_non_default_network_on_write_error,
@@ -380,6 +381,10 @@
return mark_quic_broken_when_network_blackholes_;
}
+ NetworkChangeNotifier::NetworkHandle default_network() const {
+ return default_network_;
+ }
+
// 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,
@@ -542,6 +547,10 @@
// connection experiences poor connectivity.
const bool migrate_sessions_early_v2_;
+ // Set if a new connection may be kicked off on an alternate network when a
+ // connection fails on the default network before handshake is confirmed.
+ const bool retry_on_alternate_network_before_handshake_;
+
// Set if client should mark the session as GOAWAY when the connection
// experiences poor connectivity
const bool go_away_on_path_degrading_;