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-06-28 18:47:49 +0000
committererikchen@google.com <erikchen@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-28 18:47:49 +0000
commit52a69186b43c61c0f3c96abd583dc9a9e3cf447d (patch)
tree0ea5ffe8c030e3532af8b2faae98c8361c7287a7 /net/spdy/spdy_session.h
parent2535e637b7da1d6f530bf8f0a6c482c703d2c1f7 (diff)
downloadchromium_src-52a69186b43c61c0f3c96abd583dc9a9e3cf447d.zip
chromium_src-52a69186b43c61c0f3c96abd583dc9a9e3cf447d.tar.gz
chromium_src-52a69186b43c61c0f3c96abd583dc9a9e3cf447d.tar.bz2
Streams send a Rst frame upon being closed by client. Some minor editorial fixes.
TEST=net_unittests BUG=46589 Review URL: http://codereview.chromium.org/2804008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51007 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 8a23168..9526790 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;
@@ -142,7 +150,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();
@@ -270,7 +277,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.