Create QuicContext, a container for QUIC state that is independent of application protocol
The goal is to make QuicTransport easier to write by sharing state that is
currently owned by QuicStreamFactory.
This CL only factors out the connection helper. The other things to be moved
in follow-up CLs would be:
* QuicAlarmFactory
* QuicParams
* QuicConfig
* Logic to configure UDP sockets and create a QuicConnection.
[email protected]
Change-Id: I7fcd060c2e29dcc49396da4d56c62621fad24629
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1911080
Reviewed-by: Eugene But <[email protected]>
Reviewed-by: Ryan Hamilton <[email protected]>
Reviewed-by: Matt Menke <[email protected]>
Commit-Queue: Ryan Hamilton <[email protected]>
Cr-Commit-Position: refs/heads/master@{#715423}
diff --git a/net/url_request/url_request_context.h b/net/url_request/url_request_context.h
index 3e4b923..9c8e79b 100644
--- a/net/url_request/url_request_context.h
+++ b/net/url_request/url_request_context.h
@@ -54,6 +54,7 @@
class NetworkQualityEstimator;
class ProxyDelegate;
class ProxyResolutionService;
+class QuicContext;
class SSLConfigService;
class URLRequest;
class URLRequestJobFactory;
@@ -228,6 +229,11 @@
throttler_manager_ = throttler_manager;
}
+ QuicContext* quic_context() const { return quic_context_; }
+ void set_quic_context(QuicContext* quic_context) {
+ quic_context_ = quic_context;
+ }
+
// Gets the URLRequest objects that hold a reference to this
// URLRequestContext.
std::set<const URLRequest*>* url_requests() const {
@@ -349,6 +355,7 @@
HttpTransactionFactory* http_transaction_factory_;
const URLRequestJobFactory* job_factory_;
URLRequestThrottlerManager* throttler_manager_;
+ QuicContext* quic_context_;
NetworkQualityEstimator* network_quality_estimator_;
#if BUILDFLAG(ENABLE_REPORTING)
ReportingService* reporting_service_;