Codec

Trait Codec 

Source
pub trait Codec {
    type CompressionError: Error + Send + Sync + 'static;
    type DecompressionError: Error + Send + Sync + 'static;

    // Required methods
    fn compress(&self, data: &[u8]) -> Result<Vec<u8>, Self::CompressionError>;
    fn decompress_checked(
        &self,
        src: &[u8],
        dst: &mut [u8],
    ) -> Result<(), Self::DecompressionError>;

    // Provided methods
    fn decompress(&self, src: &[u8], dst: &mut [u8]) { ... }
    fn decompress_with_length(&self, src: &[u8], len: usize) -> Vec<u8>  { ... }
}
Expand description

Compression codec for the include_assets crate

Required Associated Types§

Source

type CompressionError: Error + Send + Sync + 'static

Errors that might occur during compression

Source

type DecompressionError: Error + Send + Sync + 'static

Errors that might occur during decompression

Required Methods§

Source

fn compress(&self, data: &[u8]) -> Result<Vec<u8>, Self::CompressionError>

Compress data to a newly allocated vector.

Source

fn decompress_checked( &self, src: &[u8], dst: &mut [u8], ) -> Result<(), Self::DecompressionError>

Decompress data in src to dst.

Fails if the length of dst doesn’t exactly match the length of the uncompressed data.

If decompression fails for any reason, the contents of dst are unspecified.

Provided Methods§

Source

fn decompress(&self, src: &[u8], dst: &mut [u8])

Like Codec::decompress_checked, but panics on error.

Source

fn decompress_with_length(&self, src: &[u8], len: usize) -> Vec<u8>

Decompresses data into a new vector with the given length. Panics on error.

Implementors§