Trait BytesPartialDecoderTraits

Source
pub trait BytesPartialDecoderTraits:
    Any
    + Send
    + Sync {
    // Required method
    fn partial_decode(
        &self,
        decoded_regions: &[ByteRange],
        options: &CodecOptions,
    ) -> Result<Option<Vec<RawBytes<'_>>>, CodecError>;

    // Provided methods
    fn partial_decode_concat(
        &self,
        decoded_regions: &[ByteRange],
        options: &CodecOptions,
    ) -> Result<Option<RawBytes<'_>>, CodecError> { ... }
    fn decode(
        &self,
        options: &CodecOptions,
    ) -> Result<Option<RawBytes<'_>>, CodecError> { ... }
}
Expand description

Partial bytes decoder traits.

Required Methods§

Source

fn partial_decode( &self, decoded_regions: &[ByteRange], options: &CodecOptions, ) -> Result<Option<Vec<RawBytes<'_>>>, CodecError>

Partially decode bytes.

Returns None if partial decoding of the input handle returns None.

§Errors

Returns CodecError if a codec fails or a byte range is invalid.

Provided Methods§

Source

fn partial_decode_concat( &self, decoded_regions: &[ByteRange], options: &CodecOptions, ) -> Result<Option<RawBytes<'_>>, CodecError>

Partially decode bytes and concatenate.

Returns None if partial decoding of the input handle returns None.

Codecs can manually implement this method with a preallocated array to reduce internal allocations.

§Errors

Returns CodecError if a codec fails or a byte range is invalid.

Source

fn decode( &self, options: &CodecOptions, ) -> Result<Option<RawBytes<'_>>, CodecError>

Decode all bytes.

Returns None if partial decoding of the input handle returns None.

§Errors

Returns CodecError if a codec fails.

Implementations on Foreign Types§

Source§

impl BytesPartialDecoderTraits for Cursor<&'static [u8]>

Source§

fn partial_decode( &self, decoded_regions: &[ByteRange], _parallel: &CodecOptions, ) -> Result<Option<Vec<RawBytes<'_>>>, CodecError>

Source§

impl BytesPartialDecoderTraits for Cursor<Vec<u8>>

Source§

fn partial_decode( &self, decoded_regions: &[ByteRange], _parallel: &CodecOptions, ) -> Result<Option<Vec<RawBytes<'_>>>, CodecError>

Source§

impl BytesPartialDecoderTraits for Cursor<RawBytes<'static>>

Source§

fn partial_decode( &self, decoded_regions: &[ByteRange], _parallel: &CodecOptions, ) -> Result<Option<Vec<RawBytes<'_>>>, CodecError>

Implementors§