DescriptionCreate a new data structure StreamSequencerBuffer for QuicStreamSequencer. Currently QuicStreamSequencer is using std::list to store frames, which could buffer a series of tiny stream frames if the frames arrive so. And they are read out independently as very small strings never coalesced.
StreamSequencerBuffer coalesce these small strings and read them out as
a whole. It is a circular stream buffer with random write and
in-sequence read. It consists of an array of pointers pointing to memory
block de/allocated using new/delete and a list of GapRange objects to
indicate the missing data between the data already been written into the
buffer. And it keeps tracking the total bytes having been read out.
Merge internal change: 106593539
R=rtennet@chromium.org
BUG=
Patch Set 1 #
Depends on Patchset: Dependent Patchsets: Messages
Total messages: 4 (2 generated)
|