summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/spdy/buffered_spdy_framer.cc6
-rw-r--r--net/spdy/buffered_spdy_framer.h4
-rw-r--r--net/spdy/spdy_framer.cc5
-rw-r--r--net/spdy/spdy_framer.h4
-rw-r--r--net/spdy/spdy_framer_test.cc16
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));