kafka_protocol::compression

Trait Decompressor

source
pub trait Decompressor<B: ByteBuf> {
    type Buf: ByteBuf;

    // Required method
    fn decompress<R, F>(buf: &mut B, f: F) -> Result<R>
       where F: FnOnce(&mut Self::Buf) -> Result<R>;
}
Expand description

A trait for record decompression algorithms.

Required Associated Types§

source

type Buf: ByteBuf

Target buffer type for decompression.

Required Methods§

source

fn decompress<R, F>(buf: &mut B, f: F) -> Result<R>
where F: FnOnce(&mut Self::Buf) -> Result<R>,

Decompress records from B mapped using F into R.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<B: ByteBuf> Decompressor<B> for Gzip

Available on crate feature gzip only.
source§

impl<B: ByteBuf> Decompressor<B> for Lz4

Available on crate feature lz4 only.
source§

impl<B: ByteBuf> Decompressor<B> for None

source§

type Buf = B

source§

impl<B: ByteBuf> Decompressor<B> for Snappy

Available on crate feature snappy only.
source§

impl<B: ByteBuf> Decompressor<B> for Zstd

Available on crate feature zstd only.