diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/spdy/buffered_spdy_framer.cc | 6 | ||||
-rw-r--r-- | net/spdy/buffered_spdy_framer.h | 4 | ||||
-rw-r--r-- | net/spdy/spdy_framer.cc | 5 | ||||
-rw-r--r-- | net/spdy/spdy_framer.h | 4 | ||||
-rw-r--r-- | net/spdy/spdy_framer_test.cc | 16 |
5 files changed, 24 insertions, 11 deletions
diff --git a/net/spdy/buffered_spdy_framer.cc b/net/spdy/buffered_spdy_framer.cc index 6942f6a..9cebcff 100644 --- a/net/spdy/buffered_spdy_framer.cc +++ b/net/spdy/buffered_spdy_framer.cc @@ -144,9 +144,11 @@ bool BufferedSpdyFramer::OnControlFrameHeaderData(SpdyStreamId stream_id, return true; } -void BufferedSpdyFramer::OnDataFrameHeader(const SpdyDataFrame* frame) { +void BufferedSpdyFramer::OnDataFrameHeader(SpdyStreamId stream_id, + size_t length, + bool fin) { frames_received_++; - header_stream_id_ = frame->stream_id(); + header_stream_id_ = stream_id; } void BufferedSpdyFramer::OnStreamFrameData(SpdyStreamId stream_id, diff --git a/net/spdy/buffered_spdy_framer.h b/net/spdy/buffered_spdy_framer.h index 06247dd..11bfff9 100644 --- a/net/spdy/buffered_spdy_framer.h +++ b/net/spdy/buffered_spdy_framer.h @@ -131,7 +131,9 @@ class NET_EXPORT_PRIVATE BufferedSpdyFramer SpdyGoAwayStatus status) OVERRIDE; virtual void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) OVERRIDE; - virtual void OnDataFrameHeader(const SpdyDataFrame* frame) OVERRIDE; + virtual void OnDataFrameHeader(SpdyStreamId stream_id, + size_t length, + bool fin) OVERRIDE; // Called after a syn stream control frame has been compressed to // allow the visitor to record compression statistics. diff --git a/net/spdy/spdy_framer.cc b/net/spdy/spdy_framer.cc index ec9b3bc..d29150c 100644 --- a/net/spdy/spdy_framer.cc +++ b/net/spdy/spdy_framer.cc @@ -503,8 +503,9 @@ size_t SpdyFramer::ProcessCommonHeader(const char* data, size_t len) { if (data_frame.flags() & ~DATA_FLAG_FIN) { set_error(SPDY_INVALID_DATA_FRAME_FLAGS); } else { - visitor_->OnDataFrameHeader(&data_frame); - + visitor_->OnDataFrameHeader(data_frame.stream_id(), + data_frame.length(), + data_frame.flags() & DATA_FLAG_FIN); if (current_frame.length() > 0) { CHANGE_STATE(SPDY_FORWARD_STREAM_FRAME); } else { diff --git a/net/spdy/spdy_framer.h b/net/spdy/spdy_framer.h index 14dd478..2b48f93 100644 --- a/net/spdy/spdy_framer.h +++ b/net/spdy/spdy_framer.h @@ -181,7 +181,9 @@ class NET_EXPORT_PRIVATE SpdyFramerVisitorInterface { // Called when a data frame header is received. The frame's data // payload will be provided via subsequent calls to // OnStreamFrameData(). - virtual void OnDataFrameHeader(const SpdyDataFrame* frame) = 0; + virtual void OnDataFrameHeader(SpdyStreamId stream_id, + size_t length, + bool fin) = 0; // Called when data is received. // |stream_id| The stream receiving data. diff --git a/net/spdy/spdy_framer_test.cc b/net/spdy/spdy_framer_test.cc index adcc7fb..b40753f 100644 --- a/net/spdy/spdy_framer_test.cc +++ b/net/spdy/spdy_framer_test.cc @@ -45,7 +45,9 @@ class MockVisitor : public SpdyFramerVisitorInterface { size_t len)); MOCK_METHOD2(OnCredentialFrameData, bool(const char* credential_data, size_t len)); - MOCK_METHOD1(OnDataFrameHeader, void(const SpdyDataFrame* frame)); + MOCK_METHOD3(OnDataFrameHeader, void(SpdyStreamId stream_id, + size_t length, + bool fin)); MOCK_METHOD4(OnStreamFrameData, void(SpdyStreamId stream_id, const char* data, size_t len, @@ -188,7 +190,9 @@ class SpdyFramerTestUtil { } virtual void OnError(SpdyFramer* framer) OVERRIDE { LOG(FATAL); } - virtual void OnDataFrameHeader(const SpdyDataFrame* frame) OVERRIDE { + virtual void OnDataFrameHeader(SpdyStreamId stream_id, + size_t length, + bool fin) OVERRIDE { LOG(FATAL) << "Unexpected data frame header"; } virtual void OnStreamFrameData(SpdyStreamId stream_id, @@ -356,9 +360,11 @@ class TestSpdyVisitor : public SpdyFramerVisitorInterface, error_count_++; } - virtual void OnDataFrameHeader(const SpdyDataFrame* frame) OVERRIDE { + virtual void OnDataFrameHeader(SpdyStreamId stream_id, + size_t length, + bool fin) OVERRIDE { data_frame_count_++; - header_stream_id_ = frame->stream_id(); + header_stream_id_ = stream_id; } virtual void OnStreamFrameData(SpdyStreamId stream_id, @@ -3183,7 +3189,7 @@ TEST_P(SpdyFramerTest, DataFrameFlags) { if (flags & ~DATA_FLAG_FIN) { EXPECT_CALL(visitor, OnError(_)); } else { - EXPECT_CALL(visitor, OnDataFrameHeader(_)); + EXPECT_CALL(visitor, OnDataFrameHeader(1, 5, flags & DATA_FLAG_FIN)); EXPECT_CALL(visitor, OnStreamFrameData(_, _, 5, SpdyDataFlags())); if (flags & DATA_FLAG_FIN) { EXPECT_CALL(visitor, OnStreamFrameData(_, _, 0, DATA_FLAG_FIN)); |