diff options
author | rtenneti@google.com <rtenneti@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-06 19:25:15 +0000 |
---|---|---|
committer | rtenneti@google.com <rtenneti@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-06 19:25:15 +0000 |
commit | 095ccd1da8f0929dc77b3a0a98865d8bee6badd4 (patch) | |
tree | 3358c6cdc5140c235d7522ead8f910b74d06f896 | |
parent | 16f05f4ffb9994f71c832704f09e1d5165731c99 (diff) | |
download | chromium_src-095ccd1da8f0929dc77b3a0a98865d8bee6badd4.zip chromium_src-095ccd1da8f0929dc77b3a0a98865d8bee6badd4.tar.gz chromium_src-095ccd1da8f0929dc77b3a0a98865d8bee6badd4.tar.bz2 |
SPDY - FlowControl - changed the logging messages to:
SPDY_SESSION_RECEIVED_WINDOW_UPDATE
SPDY_SESSION_SENT_WINDOW_UPDATE
SPDY_STREAM_UPDATE_SEND_WINDOW
SPDY_STREAM_UPDATE_RECV_WINDOW
TEST=spdy unit tests
R=willchan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9316115
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120585 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | net/base/net_log_event_type_list.h | 10 | ||||
-rw-r--r-- | net/spdy/spdy_session.cc | 24 | ||||
-rw-r--r-- | net/spdy/spdy_stream.cc | 19 |
3 files changed, 25 insertions, 28 deletions
diff --git a/net/base/net_log_event_type_list.h b/net/base/net_log_event_type_list.h index 0bba60f..c4d188e 100644 --- a/net/base/net_log_event_type_list.h +++ b/net/base/net_log_event_type_list.h @@ -1010,17 +1010,15 @@ EVENT_TYPE(SPDY_SESSION_GOAWAY) // { // "stream_id": <The stream ID for the window update>, // "delta" : <The delta window size>, -// "new_size" : <The new window size (computed)>, // } -EVENT_TYPE(SPDY_SESSION_SEND_WINDOW_UPDATE) +EVENT_TYPE(SPDY_SESSION_RECEIVED_WINDOW_UPDATE) // Sending of a SPDY WINDOW_UPDATE frame (which controls the receive window). // { // "stream_id": <The stream ID for the window update>, // "delta" : <The delta window size>, -// "new_size" : <The new window size (computed)>, // } -EVENT_TYPE(SPDY_SESSION_RECV_WINDOW_UPDATE) +EVENT_TYPE(SPDY_SESSION_SENT_WINDOW_UPDATE) // Sending a data frame // { @@ -1102,7 +1100,7 @@ EVENT_TYPE(SPDY_STREAM_ADOPTED_PUSH_STREAM) // "delta": <The window size delta>, // "new_window": <The new window size>, // } -EVENT_TYPE(SPDY_STREAM_SEND_WINDOW_UPDATE) +EVENT_TYPE(SPDY_STREAM_UPDATE_SEND_WINDOW) // This event indicates that the recv window has been updated // { @@ -1110,7 +1108,7 @@ EVENT_TYPE(SPDY_STREAM_SEND_WINDOW_UPDATE) // "delta": <The window size delta>, // "new_window": <The new window size>, // } -EVENT_TYPE(SPDY_STREAM_RECV_WINDOW_UPDATE) +EVENT_TYPE(SPDY_STREAM_UPDATE_RECV_WINDOW) // ------------------------------------------------------------------------ // HttpStreamParser diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc index 7f9d8166..e385d84 100644 --- a/net/spdy/spdy_session.cc +++ b/net/spdy/spdy_session.cc @@ -107,16 +107,13 @@ class NetLogSpdySettingsParameter : public NetLog::EventParameters { class NetLogSpdyWindowUpdateParameter : public NetLog::EventParameters { public: - NetLogSpdyWindowUpdateParameter(spdy::SpdyStreamId stream_id, - int delta, - int window_size) - : stream_id_(stream_id), delta_(delta), window_size_(window_size) {} + NetLogSpdyWindowUpdateParameter(spdy::SpdyStreamId stream_id, int delta) + : stream_id_(stream_id), delta_(delta) {} virtual Value* ToValue() const { DictionaryValue* dict = new DictionaryValue(); dict->SetInteger("stream_id", static_cast<int>(stream_id_)); dict->SetInteger("delta", delta_); - dict->SetInteger("window_size", window_size_); return dict; } @@ -124,7 +121,6 @@ class NetLogSpdyWindowUpdateParameter : public NetLog::EventParameters { ~NetLogSpdyWindowUpdateParameter() {} const spdy::SpdyStreamId stream_id_; const int delta_; - const int window_size_; DISALLOW_COPY_AND_ASSIGN(NetLogSpdyWindowUpdateParameter); }; @@ -1454,12 +1450,17 @@ void SpdySession::OnSettings(const spdy::SpdySettingsControlFrame& frame) { void SpdySession::OnWindowUpdate( const spdy::SpdyWindowUpdateControlFrame& frame) { spdy::SpdyStreamId stream_id = frame.stream_id(); + int delta_window_size = static_cast<int>(frame.delta_window_size()); + net_log_.AddEvent( + NetLog::TYPE_SPDY_SESSION_RECEIVED_WINDOW_UPDATE, + make_scoped_refptr(new NetLogSpdyWindowUpdateParameter( + stream_id, delta_window_size))); + if (!IsStreamActive(stream_id)) { LOG(WARNING) << "Received WINDOW_UPDATE for invalid stream " << stream_id; return; } - int delta_window_size = static_cast<int>(frame.delta_window_size()); if (delta_window_size < 1) { LOG(WARNING) << "Received WINDOW_UPDATE with an invalid delta_window_size " << delta_window_size; @@ -1473,11 +1474,6 @@ void SpdySession::OnWindowUpdate( if (flow_control_) stream->IncreaseSendWindowSize(delta_window_size); - - net_log_.AddEvent( - NetLog::TYPE_SPDY_SESSION_RECV_WINDOW_UPDATE, - make_scoped_refptr(new NetLogSpdyWindowUpdateParameter( - stream_id, delta_window_size, stream->send_window_size()))); } void SpdySession::SendWindowUpdate(spdy::SpdyStreamId stream_id, @@ -1487,9 +1483,9 @@ void SpdySession::SendWindowUpdate(spdy::SpdyStreamId stream_id, CHECK_EQ(stream->stream_id(), stream_id); net_log_.AddEvent( - NetLog::TYPE_SPDY_SESSION_SEND_WINDOW_UPDATE, + NetLog::TYPE_SPDY_SESSION_SENT_WINDOW_UPDATE, make_scoped_refptr(new NetLogSpdyWindowUpdateParameter( - stream_id, delta_window_size, stream->recv_window_size()))); + stream_id, delta_window_size))); scoped_ptr<spdy::SpdyWindowUpdateControlFrame> window_update_frame( spdy::SpdyFramer::CreateWindowUpdate(stream_id, delta_window_size)); diff --git a/net/spdy/spdy_stream.cc b/net/spdy/spdy_stream.cc index 49fbf04..55cebbe 100644 --- a/net/spdy/spdy_stream.cc +++ b/net/spdy/spdy_stream.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -154,7 +154,7 @@ void SpdyStream::IncreaseSendWindowSize(int delta_window_size) { send_window_size_ = new_window_size; net_log_.AddEvent( - NetLog::TYPE_SPDY_STREAM_SEND_WINDOW_UPDATE, + NetLog::TYPE_SPDY_STREAM_UPDATE_SEND_WINDOW, make_scoped_refptr(new NetLogSpdyStreamWindowUpdateParameter( stream_id_, delta_window_size, send_window_size_))); if (stalled_by_flow_control_) { @@ -177,7 +177,7 @@ void SpdyStream::DecreaseSendWindowSize(int delta_window_size) { send_window_size_ -= delta_window_size; net_log_.AddEvent( - NetLog::TYPE_SPDY_STREAM_SEND_WINDOW_UPDATE, + NetLog::TYPE_SPDY_STREAM_UPDATE_SEND_WINDOW, make_scoped_refptr(new NetLogSpdyStreamWindowUpdateParameter( stream_id_, -delta_window_size, send_window_size_))); } @@ -193,7 +193,7 @@ void SpdyStream::IncreaseRecvWindowSize(int delta_window_size) { recv_window_size_ = new_window_size; net_log_.AddEvent( - NetLog::TYPE_SPDY_STREAM_RECV_WINDOW_UPDATE, + NetLog::TYPE_SPDY_STREAM_UPDATE_RECV_WINDOW, make_scoped_refptr(new NetLogSpdyStreamWindowUpdateParameter( stream_id_, delta_window_size, recv_window_size_))); session_->SendWindowUpdate(stream_id_, delta_window_size); @@ -204,14 +204,17 @@ void SpdyStream::DecreaseRecvWindowSize(int delta_window_size) { recv_window_size_ -= delta_window_size; net_log_.AddEvent( - NetLog::TYPE_SPDY_STREAM_RECV_WINDOW_UPDATE, + NetLog::TYPE_SPDY_STREAM_UPDATE_RECV_WINDOW, make_scoped_refptr(new NetLogSpdyStreamWindowUpdateParameter( stream_id_, -delta_window_size, recv_window_size_))); // Since we never decrease the initial window size, we should never hit - // a negative |recv_window_size_|, if we do, it's a flow-control violation. - if (recv_window_size_ < 0) - session_->ResetStream(stream_id_, spdy::FLOW_CONTROL_ERROR); + // a negative |recv_window_size_|, if we do, it's a client side bug, so we use + // PROTOCOL_ERROR for lack of a better error code. + if (recv_window_size_ < 0) { + session_->ResetStream(stream_id_, spdy::PROTOCOL_ERROR); + NOTREACHED(); + } } int SpdyStream::GetPeerAddress(AddressList* address) const { |