Index: net/spdy/spdy_stream.cc |
=================================================================== |
--- net/spdy/spdy_stream.cc (revision 145640) |
+++ net/spdy/spdy_stream.cc (working copy) |
@@ -128,8 +128,6 @@ |
} |
void SpdyStream::DetachDelegate() { |
- if (delegate_) |
- delegate_->set_chunk_callback(NULL); |
delegate_ = NULL; |
if (!closed()) |
Cancel(); |
@@ -165,15 +163,15 @@ |
DCHECK(session_->is_flow_control_enabled()); |
DCHECK_GE(delta_window_size, 1); |
- int32 new_window_size = send_window_size_ + delta_window_size; |
- |
// We should ignore WINDOW_UPDATEs received before or after this state, |
// since before means we've not written SYN_STREAM yet (i.e. it's too |
// early) and after means we've written a DATA frame with FIN bit. |
if (io_state_ != STATE_SEND_BODY_COMPLETE) |
Ryan Hamilton
2012/07/09 17:52:02
I don't like this. While it is OK (mebe) to recei
ramant (doing other things)
2012/07/11 01:36:18
Done.
|
return; |
- // it's valid for send_window_size_ to become negative (via an incoming |
+ int32 new_window_size = send_window_size_ + delta_window_size; |
+ |
+ // It's valid for send_window_size_ to become negative (via an incoming |
// SETTINGS), in which case incoming WINDOW_UPDATEs will eventually make |
// it positive; however, if send_window_size_ is positive and incoming |
// WINDOW_UPDATE makes it negative, we have an overflow. |
@@ -192,6 +190,7 @@ |
NetLog::TYPE_SPDY_STREAM_UPDATE_SEND_WINDOW, |
base::Bind(&NetLogSpdyStreamWindowUpdateCallback, |
stream_id_, delta_window_size, send_window_size_)); |
+ |
PossiblyResumeIfStalled(); |
} |
@@ -434,13 +433,6 @@ |
DoLoop(bytes); |
} |
-void SpdyStream::OnChunkAvailable() { |
- DCHECK(io_state_ == STATE_SEND_HEADERS || io_state_ == STATE_SEND_BODY || |
- io_state_ == STATE_SEND_BODY_COMPLETE); |
- if (io_state_ == STATE_SEND_BODY) |
- OnWriteComplete(0); |
-} |
- |
int SpdyStream::GetProtocolVersion() const { |
return session_->GetProtocolVersion(); |
} |
@@ -456,10 +448,8 @@ |
response_status_ = status; |
Delegate* delegate = delegate_; |
delegate_ = NULL; |
- if (delegate) { |
- delegate->set_chunk_callback(NULL); |
+ if (delegate) |
delegate->OnClose(status); |
- } |
} |
void SpdyStream::Cancel() { |
@@ -476,9 +466,6 @@ |
} |
int SpdyStream::SendRequest(bool has_upload_data) { |
- if (delegate_) |
- delegate_->set_chunk_callback(this); |
- |
// Pushed streams do not send any data, and should always be in STATE_OPEN or |
// STATE_DONE. However, we still want to return IO_PENDING to mimic non-push |
// behavior. |
@@ -702,7 +689,7 @@ |
// DoSendBody is called to send the optional body for the request. This call |
// will also be called as each write of a chunk of the body completes. |
int SpdyStream::DoSendBody() { |
- // If we're already in the STATE_SENDING_BODY state, then we've already |
+ // If we're already in the STATE_SEND_BODY state, then we've already |
// sent a portion of the body. In that case, we need to first consume |
// the bytes written in the body stream. Note that the bytes written is |
// the number of bytes in the frame that were written, only consume the |