Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(658)

Unified Diff: net/spdy/spdy_framer.h

Issue 199843005: Implement padding for SPDY4/HTTP2 DATA frames. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nullptr => NULL & discard padding at SpdySession visitor call. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/spdy/spdy_frame_builder.cc ('k') | net/spdy/spdy_framer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/spdy_framer.h
diff --git a/net/spdy/spdy_framer.h b/net/spdy/spdy_framer.h
index f3cd98f9828b8f90bcf2014d21bbac62f36f97d4..44918e290c4a589ca9fd4a08d1bcf12d49ff781c 100644
--- a/net/spdy/spdy_framer.h
+++ b/net/spdy/spdy_framer.h
@@ -281,6 +281,8 @@ class NET_EXPORT_PRIVATE SpdyFramer {
SPDY_AUTO_RESET,
SPDY_READING_COMMON_HEADER,
SPDY_CONTROL_FRAME_PAYLOAD,
+ SPDY_READ_PADDING_LENGTH,
+ SPDY_CONSUME_PADDING,
SPDY_IGNORE_REMAINING_PAYLOAD,
SPDY_FORWARD_STREAM_FRAME,
SPDY_CONTROL_FRAME_BEFORE_HEADER_BLOCK,
@@ -544,6 +546,8 @@ class NET_EXPORT_PRIVATE SpdyFramer {
size_t ProcessControlFrameHeaderBlock(const char* data,
size_t len,
bool is_hpack_header_block);
+ size_t ProcessFramePaddingLength(const char* data, size_t len);
+ size_t ProcessFramePadding(const char* data, size_t len);
size_t ProcessDataFramePayload(const char* data, size_t len);
size_t ProcessGoAwayFramePayload(const char* data, size_t len);
size_t ProcessRstStreamFramePayload(const char* data, size_t len);
@@ -628,8 +632,18 @@ class NET_EXPORT_PRIVATE SpdyFramer {
SpdyState state_;
SpdyState previous_state_;
SpdyError error_code_;
+
+ // Note that for DATA frame, remaining_data_length_ is sum of lengths of
+ // frame header, padding length field (optional), data payload (optional) and
+ // padding payload (optional).
size_t remaining_data_length_;
+ // The length (in bytes) of the padding payload to be processed.
+ size_t remaining_padding_payload_length_;
+
+ // The length (in bytes) of the padding length field to be processed.
+ size_t remaining_padding_length_fields_;
+
// The number of bytes remaining to read from the current control frame's
// headers. Note that header data blocks (for control types that have them)
// are part of the frame's payload, and not the frame's headers.
« no previous file with comments | « net/spdy/spdy_frame_builder.cc ('k') | net/spdy/spdy_framer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698