| Index: net/quic/quic_stream_factory.h
|
| diff --git a/net/quic/quic_stream_factory.h b/net/quic/quic_stream_factory.h
|
| index 48f4da0de4e80fa388b2b0e98035df9548d6711d..629b835704f23c2433ba9965c6fb57b5b6a56b17 100644
|
| --- a/net/quic/quic_stream_factory.h
|
| +++ b/net/quic/quic_stream_factory.h
|
| @@ -14,6 +14,8 @@
|
| #include "net/base/host_port_pair.h"
|
| #include "net/base/net_log.h"
|
| #include "net/proxy/proxy_server.h"
|
| +#include "net/quic/quic_config.h"
|
| +#include "net/quic/quic_crypto_stream.h"
|
| #include "net/quic/quic_http_stream.h"
|
| #include "net/quic/quic_protocol.h"
|
|
|
| @@ -106,6 +108,7 @@ class NET_EXPORT_PRIVATE QuicStreamFactory {
|
| typedef std::set<HostPortProxyPair> AliasSet;
|
| typedef std::map<QuicClientSession*, AliasSet> SessionAliasMap;
|
| typedef std::set<QuicClientSession*> SessionSet;
|
| + typedef std::map<HostPortProxyPair, QuicCryptoClientConfig*> CryptoConfigMap;
|
| typedef std::map<HostPortProxyPair, Job*> JobMap;
|
| typedef std::map<QuicStreamRequest*, Job*> RequestMap;
|
| typedef std::set<QuicStreamRequest*> RequestSet;
|
| @@ -114,12 +117,16 @@ class NET_EXPORT_PRIVATE QuicStreamFactory {
|
| void OnJobComplete(Job* job, int rv);
|
| bool HasActiveSession(const HostPortProxyPair& host_port_proxy_pair);
|
| bool HasActiveJob(const HostPortProxyPair& host_port_proxy_pair);
|
| - QuicClientSession* CreateSession(const std::string& host,
|
| - const AddressList& address_list,
|
| - const BoundNetLog& net_log);
|
| + QuicClientSession* CreateSession(
|
| + const HostPortProxyPair& host_port_proxy_pair,
|
| + const AddressList& address_list,
|
| + const BoundNetLog& net_log);
|
| void ActivateSession(const HostPortProxyPair& host_port_proxy_pair,
|
| QuicClientSession* session);
|
|
|
| + QuicCryptoClientConfig* GetOrCreateCryptoConfig(
|
| + const HostPortProxyPair& host_port_proxy_pair);
|
| +
|
| HostResolver* host_resolver_;
|
| ClientSocketFactory* client_socket_factory_;
|
| QuicCryptoClientStreamFactory* quic_crypto_client_stream_factory_;
|
| @@ -133,6 +140,12 @@ class NET_EXPORT_PRIVATE QuicStreamFactory {
|
| SessionMap active_sessions_;
|
| SessionAliasMap session_aliases_;
|
|
|
| + // Contains owning pointers to QuicCryptoClientConfig. QuicCryptoClientConfig
|
| + // contains configuration and cached state about servers.
|
| + // TODO(rtenneti): Persist all_crypto_configs_ to disk and decide when to
|
| + // clear the data in the map.
|
| + CryptoConfigMap all_crypto_configs_;
|
| +
|
| JobMap active_jobs_;
|
| JobRequestsMap job_requests_map_;
|
| RequestMap active_requests_;
|
|
|