summaryrefslogtreecommitdiffstats
path: root/net/spdy/spdy_session_pool.h
diff options
context:
space:
mode:
authorcsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-04 01:41:59 +0000
committercsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-04 01:41:59 +0000
commit7abf7d23f2e0b7ba4a68266ca1dabb919e243558 (patch)
treeb89f6c544e53149570bb44b25600c7851d8a7021 /net/spdy/spdy_session_pool.h
parentae7d85482dd44ffd2061fd6dc692f4d1ef769d18 (diff)
downloadchromium_src-7abf7d23f2e0b7ba4a68266ca1dabb919e243558.zip
chromium_src-7abf7d23f2e0b7ba4a68266ca1dabb919e243558.tar.gz
chromium_src-7abf7d23f2e0b7ba4a68266ca1dabb919e243558.tar.bz2
Flush SSL pools after SSL config changes.
BUG=46043 TEST=Verify that SSL pools are flushed after user makes SSL change. Review URL: http://codereview.chromium.org/3274004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58567 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/spdy/spdy_session_pool.h')
-rw-r--r--net/spdy/spdy_session_pool.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/net/spdy/spdy_session_pool.h b/net/spdy/spdy_session_pool.h
index 149deb0..9d8d693 100644
--- a/net/spdy/spdy_session_pool.h
+++ b/net/spdy/spdy_session_pool.h
@@ -17,6 +17,7 @@
#include "net/base/host_port_pair.h"
#include "net/base/net_errors.h"
#include "net/base/network_change_notifier.h"
+#include "net/base/ssl_config_service.h"
#include "net/proxy/proxy_config.h"
#include "net/proxy/proxy_server.h"
@@ -34,9 +35,10 @@ class SpdySession;
// TODO(mbelshe): Make this production ready.
class SpdySessionPool
: public base::RefCounted<SpdySessionPool>,
- public NetworkChangeNotifier::Observer {
+ public NetworkChangeNotifier::Observer,
+ public SSLConfigService::Observer {
public:
- SpdySessionPool();
+ explicit SpdySessionPool(SSLConfigService* ssl_config_service);
// Either returns an existing SpdySession or creates a new SpdySession for
// use.
@@ -92,6 +94,11 @@ class SpdySessionPool
// or error out due to the IP address change.
virtual void OnIPAddressChanged();
+ // SSLConfigService::Observer methods:
+
+ // We perform the same flushing as described above when SSL settings change.
+ virtual void OnSSLConfigChanged();
+
private:
friend class base::RefCounted<SpdySessionPool>;
friend class SpdySessionPoolPeer; // For testing.
@@ -117,6 +124,8 @@ class SpdySessionPool
static int g_max_sessions_per_domain;
+ const scoped_refptr<SSLConfigService> ssl_config_service_;
+
DISALLOW_COPY_AND_ASSIGN(SpdySessionPool);
};