summaryrefslogtreecommitdiffstats
path: root/net/spdy/spdy_session.h
diff options
context:
space:
mode:
authorerikchen@google.com <erikchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-12 18:16:14 +0000
committererikchen@google.com <erikchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-12 18:16:14 +0000
commit9c6527c9d4d289ed4f62194cf116e071b9d49ac9 (patch)
treec133ad0cabdbad4911a2af42311e3405a37eb23e /net/spdy/spdy_session.h
parent02d8d78f984d3201ad038460bc57dd66ac293ac2 (diff)
downloadchromium_src-9c6527c9d4d289ed4f62194cf116e071b9d49ac9.zip
chromium_src-9c6527c9d4d289ed4f62194cf116e071b9d49ac9.tar.gz
chromium_src-9c6527c9d4d289ed4f62194cf116e071b9d49ac9.tar.bz2
Streams send a Rst frame upon being closed by client. Some minor editorial fixes.
TEST=net_unittests BUG=46589 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=51007 Review URL: http://codereview.chromium.org/2804008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52106 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/spdy/spdy_session.h')
-rw-r--r--net/spdy/spdy_session.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/net/spdy/spdy_session.h b/net/spdy/spdy_session.h
index d128661..23a92a8 100644
--- a/net/spdy/spdy_session.h
+++ b/net/spdy/spdy_session.h
@@ -91,8 +91,16 @@ class SpdySession : public base::RefCounted<SpdySession>,
int WriteStreamData(spdy::SpdyStreamId stream_id, net::IOBuffer* data,
int len);
- // Close a stream.
- void CloseStream(spdy::SpdyStreamId stream_id, int status);
+ // This marks the stream as half closed from the client side, and removes it
+ // from the active_streams_ map.
+ void CloseStream(spdy::SpdyStreamId id, int status);
+ // This is identical to CloseStream, except it also sends a Rst stream frame.
+ void CloseStreamAndSendRst(spdy::SpdyStreamId stream_id, int status);
+
+ // Half close a stream.
+ void HalfCloseStreamClientSide(spdy::SpdyStreamId stream_id, int status);
+ void HalfCloseStreamServerSide(spdy::SpdyStreamId stream_id, int status);
+
// Check if a stream is active.
bool IsStreamActive(spdy::SpdyStreamId stream_id) const;
@@ -148,7 +156,7 @@ class SpdySession : public base::RefCounted<SpdySession>,
const linked_ptr<spdy::SpdyHeaderBlock>& headers);
void OnSynReply(const spdy::SpdySynReplyControlFrame& frame,
const linked_ptr<spdy::SpdyHeaderBlock>& headers);
- void OnFin(const spdy::SpdyRstStreamControlFrame& frame);
+ void OnRst(const spdy::SpdyRstStreamControlFrame& frame);
void OnGoAway(const spdy::SpdyGoAwayControlFrame& frame);
void OnSettings(const spdy::SpdySettingsControlFrame& frame);
@@ -181,7 +189,6 @@ class SpdySession : public base::RefCounted<SpdySession>,
// Track active streams in the active stream list.
void ActivateStream(SpdyStream* stream);
- void DeleteStream(spdy::SpdyStreamId id, int status);
// Removes this session from the session pool.
void RemoveFromPool();
@@ -273,7 +280,7 @@ class SpdySession : public base::RefCounted<SpdySession>,
int streams_initiated_count_;
int streams_pushed_count_;
int streams_pushed_and_claimed_count_;
- int streams_abandoned_count_;
+ int streams_abandoned_count_; // # of streams that were pushed & abandoned.
bool sent_settings_; // Did this session send settings when it started.
bool received_settings_; // Did this session receive at least one settings
// frame.