pub trait BlockDecompressor:
Debug
+ Send
+ Sync {
// Required method
fn decompress(
&self,
data: Option<LanceBuffer>,
num_values: u64,
) -> Result<DataBlock>;
// Provided methods
fn requires_payload(&self) -> bool { ... }
fn infer_num_values(&self, _data: &LanceBuffer) -> Result<Option<u64>> { ... }
}Required Methods§
fn decompress( &self, data: Option<LanceBuffer>, num_values: u64, ) -> Result<DataBlock>
Provided Methods§
Sourcefn requires_payload(&self) -> bool
fn requires_payload(&self) -> bool
Whether this codec consumes one payload buffer.
Sourcefn infer_num_values(&self, _data: &LanceBuffer) -> Result<Option<u64>>
fn infer_num_values(&self, _data: &LanceBuffer) -> Result<Option<u64>>
Inspect a block for an exact payload-derived value count when supported.
This must not materialize the decoded values. None means the encoding requires an
external count or cannot safely prove one from this payload.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".