Details
-
Task
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
None
-
Fully Compatible
-
Execution Team 2021-07-26, Execution Team 2021-08-09
Description
It should provide the basic interface:
append(int index, BSONElement value);
append(BSONElement value); // automatically next index
skip(index num); // skips num amount for next append
SharedBuffer finalize();
Internally it uses the Simple8b and Simple8bUtil classes to calculate deltas of appended values and store them as Simple8b blocks.
This class should implement the higher level binary stream with the stream operations.
Determine if the value must be stored uncompressed (literal op)
Determine which scale factor we need and store correct byte for the chosen scale factor
Keep track of the number of Simple-8b blocks and write a new operation byte when we've reached our max.