pub struct Compressor { /* private fields */ }Expand description
Compressor for LANCE payloads
NOTE: Full implementation requires lz4 and zstd crate dependencies. This provides the API structure and header format.
Implementations§
Source§impl Compressor
impl Compressor
Sourcepub fn new(algorithm: CompressionAlgorithm, _level: i32) -> Self
pub fn new(algorithm: CompressionAlgorithm, _level: i32) -> Self
Create a new compressor with the specified algorithm
Sourcepub fn with_max_size(self, max_size: usize) -> Self
pub fn with_max_size(self, max_size: usize) -> Self
Set the maximum allowed decompressed size
Sourcepub fn algorithm(&self) -> CompressionAlgorithm
pub fn algorithm(&self) -> CompressionAlgorithm
Get the compression algorithm
Sourcepub fn compress(&self, data: &[u8]) -> CompressionResult<Bytes>
pub fn compress(&self, data: &[u8]) -> CompressionResult<Bytes>
Compress data and prepend compression header
Sourcepub fn decompress(&self, data: &[u8]) -> CompressionResult<Bytes>
pub fn decompress(&self, data: &[u8]) -> CompressionResult<Bytes>
Decompress data with header
Sourcepub fn compress_raw(&self, data: &[u8]) -> CompressionResult<Vec<u8>>
pub fn compress_raw(&self, data: &[u8]) -> CompressionResult<Vec<u8>>
Raw compression without header.
Sourcepub fn decompress_raw(
&self,
algorithm: CompressionAlgorithm,
data: &[u8],
_original_size: usize,
) -> CompressionResult<Bytes>
pub fn decompress_raw( &self, algorithm: CompressionAlgorithm, data: &[u8], _original_size: usize, ) -> CompressionResult<Bytes>
Raw decompression without header.
Sourcepub fn should_compress(&self, data_len: usize) -> bool
pub fn should_compress(&self, data_len: usize) -> bool
Check if compression would be beneficial for this data size
Trait Implementations§
Source§impl Clone for Compressor
impl Clone for Compressor
Source§fn clone(&self) -> Compressor
fn clone(&self) -> Compressor
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Compressor
impl Debug for Compressor
Auto Trait Implementations§
impl Freeze for Compressor
impl RefUnwindSafe for Compressor
impl Send for Compressor
impl Sync for Compressor
impl Unpin for Compressor
impl UnsafeUnpin for Compressor
impl UnwindSafe for Compressor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request