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

Issue 1914193002: Implements incremental decode in HPACK. (Closed)

Created:
4 years, 8 months ago by Biren Roy
Modified:
4 years, 8 months ago
Reviewers:
*Bence, Buck
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implements incremental decode in HPACK. With incremental decode, headers may contain incomplete opcode. The change is divided into two parts: the HpackInputStream change in hpack_input_stream.h/cc, and the HpackDecoder change in Hpack_decoder.h/cc. After new data are added to the buffer (by calling HandleControlFrameHeadersData()), a new HpackInputStream is created based on the current data in the buffer, and as many data as possible are parsed. When an opcode is parsed successfully, remember the current position in the header (by calling MarkCurrentPosition()), and move on to the next opcode. If an opcode is incomplete, we return from the current parsing with false, and mark need_more_data_ to be true. The data have been successfully parsed will be removed from the buffer. Since we incrementally decode headers as data arrive, we remove the decode code in HandleControlFrameHeadersComplete(). This CL lands server change 116551169 by yasong. BUG=488484 Committed: https://crrev.com/8fc656b6fdadbb902bdb39d5de8538dbdb2f3751 Cr-Commit-Position: refs/heads/master@{#389857}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+330 lines, -27 lines) Patch
M net/spdy/hpack/hpack_decoder.h View 1 chunk +5 lines, -0 lines 0 comments Download
M net/spdy/hpack/hpack_decoder.cc View 3 chunks +39 lines, -11 lines 0 comments Download
M net/spdy/hpack/hpack_decoder_test.cc View 9 chunks +117 lines, -4 lines 0 comments Download
M net/spdy/hpack/hpack_input_stream.h View 2 chunks +25 lines, -2 lines 0 comments Download
M net/spdy/hpack/hpack_input_stream.cc View 10 chunks +42 lines, -6 lines 0 comments Download
M net/spdy/hpack/hpack_input_stream_test.cc View 9 chunks +102 lines, -4 lines 0 comments Download

Messages

Total messages: 13 (6 generated)
Biren Roy
This is my first merge to Chromium. Please be gentle. :)
4 years, 8 months ago (2016-04-26 17:17:10 UTC) #4
Bence
LGTM.
4 years, 8 months ago (2016-04-26 17:38:13 UTC) #5
Buck
lgtm
4 years, 8 months ago (2016-04-26 17:48:01 UTC) #6
Buck
lgtm
4 years, 8 months ago (2016-04-26 17:48:04 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1914193002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1914193002/1
4 years, 8 months ago (2016-04-26 18:03:51 UTC) #9
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 8 months ago (2016-04-26 19:49:40 UTC) #11
commit-bot: I haz the power
4 years, 8 months ago (2016-04-26 19:52:06 UTC) #13
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/8fc656b6fdadbb902bdb39d5de8538dbdb2f3751
Cr-Commit-Position: refs/heads/master@{#389857}

Powered by Google App Engine
This is Rietveld 408576698