Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 10 Apr 2014 22:10:26 -0700] rev 21018
util: support None size in chunkbuffer.read()
When no size is provided, read the whole buffer. This aligns with the usual
behavior of `read()` in python.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 15:02:26 -0400] rev 21017
bundle2: lazily iterate over bundle parts in the test
We used to create a list to know the number of parts in the bundle. This prevents
any lazy reading as planned for real usage.
The list creation is dropped. Some test output changed as debug output is
now interleaved with command output.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 15:47:38 -0400] rev 21016
bundle2: move unpackheader closure into the class
With the same argument as the other one, we move this closure into the
`unbundlepart` class.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 15:46:09 -0400] rev 21015
bundle2: move the fromheader closure into the class itself
The class is now directly related to this header data. We can sanely move it on
the class.
I do not like closures very much...
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 15:43:16 -0400] rev 21014
bundle2: add an unbundle part responsible from unbundling part
We have a new unbundle class and it is now responsible from extracting its own
data. The top level bundler only extracts the header (to detect an end of stream
marker) then leaves everything else to the `unbundlepart` class. The ultimate
goal is to have `unbundlepart` responsible for lazily extracting its payload.
This is mostly code movement.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 15:19:54 -0400] rev 21013
bundle2: extract stream/unpack logic in an unpackermixin
The coming `unbundlepart` will need the same kind of method than `unbundle20`
for unpacking data from the stream. We extract them into a mixin class before
the creation of `unbundlepart`.