summaryrefslogtreecommitdiffstats
path: root/net/spdy/spdy_session.h
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-30 00:57:13 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-30 00:57:13 +0000
commitb30241405fd188d9896843a84b52fea3f3c57828 (patch)
tree543603f753e8d878e513300cebe64083ddb20a4e /net/spdy/spdy_session.h
parent5f1361a76316abb12fb134308cca5fa84c38f776 (diff)
downloadchromium_src-b30241405fd188d9896843a84b52fea3f3c57828.zip
chromium_src-b30241405fd188d9896843a84b52fea3f3c57828.tar.gz
chromium_src-b30241405fd188d9896843a84b52fea3f3c57828.tar.bz2
Revert 61015 (broke fetch_client) - Stop refcounting SpdySessionPool.
BUG=57343 TEST=none Review URL: http://codereview.chromium.org/3602001 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/3541005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61018 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/spdy/spdy_session.h')
-rw-r--r--net/spdy/spdy_session.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/net/spdy/spdy_session.h b/net/spdy/spdy_session.h
index 58a2710..313440c 100644
--- a/net/spdy/spdy_session.h
+++ b/net/spdy/spdy_session.h
@@ -51,8 +51,6 @@ class SpdySession : public base::RefCounted<SpdySession>,
// Create a new SpdySession.
// |host_port_proxy_pair| is the host/port that this session connects to, and
// the proxy configuration settings that it's using.
- // |spdy_session_pool| is the SpdySessionPool that owns us. Its lifetime must
- // strictly be greater than |this|.
// |session| is the HttpNetworkSession. |net_log| is the NetLog that we log
// network events to.
SpdySession(const HostPortProxyPair& host_port_proxy_pair,
@@ -161,9 +159,7 @@ class SpdySession : public base::RefCounted<SpdySession>,
return frames_received_ > 0;
}
- void set_spdy_session_pool(SpdySessionPool* pool) {
- spdy_session_pool_ = NULL;
- }
+ void set_in_session_pool(bool val) { in_session_pool_ = val; }
// Access to the number of active and pending streams. These are primarily
// available for testing and diagnostics.
@@ -298,9 +294,7 @@ class SpdySession : public base::RefCounted<SpdySession>,
// The domain this session is connected to.
const HostPortProxyPair host_port_proxy_pair_;
- // |spdy_session_pool_| owns us, therefore its lifetime must exceed ours. We
- // set this to NULL after we are removed from the pool.
- SpdySessionPool* spdy_session_pool_;
+ scoped_refptr<SpdySessionPool> spdy_session_pool_;
SpdySettingsStorage* spdy_settings_;
// The socket handle for this session.
@@ -367,6 +361,8 @@ class SpdySession : public base::RefCounted<SpdySession>,
bool received_settings_; // Did this session receive at least one settings
// frame.
+ bool in_session_pool_; // True if the session is currently in the pool.
+
// Initial send window size for the session; can be changed by an
// arriving SETTINGS frame; newly created streams use this value for the
// initial send window size.