Handling the frame itself
You are reaching the end of the frame parsing! It is time to put the various bits together.
Building the type
✅ Make the
frame::ZstandardFrame
structure contain three fields: the frame header, a vector of blocks, and an optional checksum.
Parsing
✅ Implement
ZstandardFrame::parse()
and call it fromFrame::parse()
in the presence of a Zstandard frame.
This method will need to:
- parse the header;
- parse the blocks (there is at least one), and continue doing so as long as the parsed block is not the last one;
- parse the checksum if it is present according to the frame descriptor header.
Decoding
✅ Implement
ZstandardFrame::decode()
and call it fromFrame::decode()
in the presence of a Zstandard frame.
Decoding a frame means decoding each block in turn and concatenating the result.