summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrtenneti@google.com <rtenneti@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-06 19:25:15 +0000
committerrtenneti@google.com <rtenneti@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-06 19:25:15 +0000
commit095ccd1da8f0929dc77b3a0a98865d8bee6badd4 (patch)
tree3358c6cdc5140c235d7522ead8f910b74d06f896
parent16f05f4ffb9994f71c832704f09e1d5165731c99 (diff)
downloadchromium_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.h10
-rw-r--r--net/spdy/spdy_session.cc24
-rw-r--r--net/spdy/spdy_stream.cc19
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 {