Index: net/spdy/spdy_headers_block_parser.cc |
diff --git a/net/spdy/spdy_headers_block_parser.cc b/net/spdy/spdy_headers_block_parser.cc |
index 27f52e8b24afe3cd7a80edf1bb0562056828ece6..83a216028d8bfd3c71bba6008920932cf0fd5b3a 100644 |
--- a/net/spdy/spdy_headers_block_parser.cc |
+++ b/net/spdy/spdy_headers_block_parser.cc |
@@ -14,14 +14,17 @@ const SpdyStreamId kInvalidStreamId = 0; |
} // anonymous namespace |
+namespace { |
+const size_t kLengthFieldSize = sizeof(uint32_t); |
+} // anonymous namespace |
+ |
const size_t SpdyHeadersBlockParser::kMaximumFieldLength = 16 * 1024; |
SpdyHeadersBlockParser::SpdyHeadersBlockParser( |
SpdyMajorVersion spdy_version, |
SpdyHeadersHandlerInterface* handler) |
: state_(READING_HEADER_BLOCK_LEN), |
- length_field_size_(LengthFieldSizeForVersion(spdy_version)), |
- max_headers_in_block_(MaxNumberOfHeadersForVersion(spdy_version)), |
+ max_headers_in_block_(MaxNumberOfHeaders()), |
total_bytes_received_(0), |
remaining_key_value_pairs_for_frame_(0), |
handler_(handler), |
@@ -162,37 +165,22 @@ void SpdyHeadersBlockParser::ParseFieldLength(Reader* reader) { |
void SpdyHeadersBlockParser::ParseLength(Reader* reader, |
uint32_t* parsed_length) { |
char buffer[] = {0, 0, 0, 0}; |
- if (!reader->ReadN(length_field_size_, buffer)) { |
+ if (!reader->ReadN(kLengthFieldSize, buffer)) { |
error_ = NEED_MORE_DATA; |
return; |
} |
// Convert from network to host order and return the parsed out integer. |
- if (length_field_size_ == sizeof(uint32_t)) { |
- *parsed_length = |
- base::NetToHost32(*reinterpret_cast<const uint32_t *>(buffer)); |
- } else { |
- *parsed_length = |
- base::NetToHost16(*reinterpret_cast<const uint16_t *>(buffer)); |
- } |
-} |
- |
-size_t SpdyHeadersBlockParser::LengthFieldSizeForVersion( |
- SpdyMajorVersion spdy_version) { |
- if (spdy_version < SPDY3) { |
- return sizeof(uint16_t); |
- } |
- return sizeof(uint32_t); |
+ *parsed_length = |
+ base::NetToHost32(*reinterpret_cast<const uint32_t*>(buffer)); |
} |
-size_t SpdyHeadersBlockParser::MaxNumberOfHeadersForVersion( |
- SpdyMajorVersion spdy_version) { |
+size_t SpdyHeadersBlockParser::MaxNumberOfHeaders() { |
// Account for the length of the header block field. |
- size_t max_bytes_for_headers = |
- kMaximumFieldLength - LengthFieldSizeForVersion(spdy_version); |
+ size_t max_bytes_for_headers = kMaximumFieldLength - kLengthFieldSize; |
// A minimal size header is twice the length field size (and has a |
// zero-lengthed key and a zero-lengthed value). |
- return max_bytes_for_headers / (2 * LengthFieldSizeForVersion(spdy_version)); |
+ return max_bytes_for_headers / (2 * kLengthFieldSize); |
} |
} // namespace net |