Expand description
Library for creating, serializing, and deserializing RFC 0207 delivery blobs. For example, to create a Type 1 delivery blob:
use delivery_blob::{CompressionMode, Type1Blob};
let merkle = "68d131bc271f9c192d4f6dcd8fe61bef90004856da19d0f2f514a7f4098b0737";
let data: Vec<u8> = vec![0xFF; 8192];
let payload: Vec<u8> = Type1Blob::generate(&data, CompressionMode::Attempt);Modules§
- compression
- Implementation of chunked-compression library in Rust. Archives can be created by making a new
ChunkedArchiveand serializing/writing it. An archive’s header can be verified and seek table decoded usingdecode_archive.
Structs§
- Delivery
Blob Header - Typed header of an RFC 0207 compliant delivery blob.
- Type1
Blob - Header + metadata fields of a Type 1 blob.
Enums§
- Compression
Mode - Mode specifying when a delivery blob should be compressed.
- Decompress
Error - Delivery
Blob Error - Delivery
Blob Type - Type of delivery blob.
Functions§
- calculate_
digest - Calculate the merkle root digest of the decompressed
delivery_blob, delivery blob type is auto detected. - decompress
- Decompress a delivery blob in
delivery_blob, delivery blob type is auto detected. - decompress_
to - Decompress a delivery blob in
delivery_blob, and write the decompressed blob towriter, delivery blob type is auto detected. - decompressed_
size - Returns the decompressed size of
delivery_blob, delivery blob type is auto detected. - decompressed_
size_ from_ reader - Returns the decompressed size of the delivery blob from
reader. - generate
- Generate a delivery blob of the specified
delivery_typefordatausing default parameters. - generate_
to - Generate a delivery blob of the specified
delivery_typefordatausing default parameters and write the generated blob towriter.