Trait zarrs::array::codec::ArrayToBytesCodecTraits
source · pub trait ArrayToBytesCodecTraits: ArrayCodecTraits + DynClone + Debug {
// Required methods
fn compute_encoded_size(
&self,
decoded_representation: &ChunkRepresentation
) -> Result<BytesRepresentation, CodecError>;
fn partial_decoder<'a>(
&'a self,
input_handle: Box<dyn BytesPartialDecoderTraits + 'a>,
decoded_representation: &ChunkRepresentation,
options: &CodecOptions
) -> Result<Box<dyn ArrayPartialDecoderTraits + 'a>, CodecError>;
fn async_partial_decoder<'a, 'life0, 'life1, 'async_trait>(
&'a self,
input_handle: Box<dyn AsyncBytesPartialDecoderTraits + 'a>,
decoded_representation: &'life0 ChunkRepresentation,
options: &'life1 CodecOptions
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncArrayPartialDecoderTraits + 'a>, CodecError>> + Send + 'async_trait>>
where Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}
Expand description
Traits for array to bytes codecs.
Required Methods§
sourcefn compute_encoded_size(
&self,
decoded_representation: &ChunkRepresentation
) -> Result<BytesRepresentation, CodecError>
fn compute_encoded_size( &self, decoded_representation: &ChunkRepresentation ) -> Result<BytesRepresentation, CodecError>
Returns the size of the encoded representation given a size of the decoded representation.
§Errors
Returns a CodecError
if the decoded representation is not supported by this codec.
sourcefn partial_decoder<'a>(
&'a self,
input_handle: Box<dyn BytesPartialDecoderTraits + 'a>,
decoded_representation: &ChunkRepresentation,
options: &CodecOptions
) -> Result<Box<dyn ArrayPartialDecoderTraits + 'a>, CodecError>
fn partial_decoder<'a>( &'a self, input_handle: Box<dyn BytesPartialDecoderTraits + 'a>, decoded_representation: &ChunkRepresentation, options: &CodecOptions ) -> Result<Box<dyn ArrayPartialDecoderTraits + 'a>, CodecError>
sourcefn async_partial_decoder<'a, 'life0, 'life1, 'async_trait>(
&'a self,
input_handle: Box<dyn AsyncBytesPartialDecoderTraits + 'a>,
decoded_representation: &'life0 ChunkRepresentation,
options: &'life1 CodecOptions
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncArrayPartialDecoderTraits + 'a>, CodecError>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Available on crate feature async
only.
fn async_partial_decoder<'a, 'life0, 'life1, 'async_trait>(
&'a self,
input_handle: Box<dyn AsyncBytesPartialDecoderTraits + 'a>,
decoded_representation: &'life0 ChunkRepresentation,
options: &'life1 CodecOptions
) -> Pin<Box<dyn Future<Output = Result<Box<dyn AsyncArrayPartialDecoderTraits + 'a>, CodecError>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
async
only.Implementors§
impl ArrayToBytesCodecTraits for BytesCodec
impl ArrayToBytesCodecTraits for CodecChain
impl ArrayToBytesCodecTraits for PcodecCodec
Available on crate feature
pcodec
only.impl ArrayToBytesCodecTraits for ShardingCodec
Available on crate feature
sharding
only.impl ArrayToBytesCodecTraits for ZfpCodec
Available on crate feature
zfp
only.