Skip to main content

Crate delivery_blob

Crate delivery_blob 

Source
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 ChunkedArchive and serializing/writing it. An archive’s header can be verified and seek table decoded using decode_archive.

Structs§

DeliveryBlobHeader
Typed header of an RFC 0207 compliant delivery blob.
Type1Blob
Header + metadata fields of a Type 1 blob.

Enums§

CompressionMode
Mode specifying when a delivery blob should be compressed.
DecompressError
DeliveryBlobError
DeliveryBlobType
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 to writer, 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_type for data using default parameters.
generate_to
Generate a delivery blob of the specified delivery_type for data using default parameters and write the generated blob to writer.