pub struct DecompressorCustomIo<ErrType, R: CustomRead<ErrType>, BufferType: SliceWrapperMut<u8>, AllocU8: Allocator<u8>, AllocU32: Allocator<u32>, AllocHC: Allocator<HuffmanCode>> {
    input_buffer: BufferType,
    total_out: usize,
    input_offset: usize,
    input_len: usize,
    input: R,
    error_if_invalid_data: Option<ErrType>,
    state: BrotliState<AllocU8, AllocU32, AllocHC>,
    done: bool,
}

Fields§

§input_buffer: BufferType§total_out: usize§input_offset: usize§input_len: usize§input: R§error_if_invalid_data: Option<ErrType>§state: BrotliState<AllocU8, AllocU32, AllocHC>§done: bool

Implementations§

source§

impl<ErrType, R: CustomRead<ErrType>, BufferType: SliceWrapperMut<u8>, AllocU8, AllocU32, AllocHC> DecompressorCustomIo<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC>where AllocU8: Allocator<u8>, AllocU32: Allocator<u32>, AllocHC: Allocator<HuffmanCode>,

source

pub fn new( r: R, buffer: BufferType, alloc_u8: AllocU8, alloc_u32: AllocU32, alloc_hc: AllocHC, invalid_data_error_type: ErrType ) -> Self

source

pub fn new_with_custom_dictionary( r: R, buffer: BufferType, alloc_u8: AllocU8, alloc_u32: AllocU32, alloc_hc: AllocHC, dict: AllocU8::AllocatedMemory, invalid_data_error_type: ErrType ) -> Self

source

pub fn get_ref(&self) -> &R

source

pub fn get_mut(&mut self) -> &mut R

source

pub fn into_inner(self) -> R

source

pub fn copy_to_front(&mut self)

Trait Implementations§

source§

impl<ErrType, R: CustomRead<ErrType>, BufferType: SliceWrapperMut<u8>, AllocU8: Allocator<u8>, AllocU32: Allocator<u32>, AllocHC: Allocator<HuffmanCode>> CustomRead<ErrType> for DecompressorCustomIo<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC>

source§

fn read(&mut self, buf: &mut [u8]) -> Result<usize, ErrType>

This variant of read will return Ok(number of bytes read) until the file Is completed at which point it will return Ok(0). However if there are additional unconsumed bytes in the buffer, it will return Err(InvalidData) at that point. Otherwise it will keep returning Ok(0).

Arguments
  • buf - The buffer to read into
Errors

Returns Ok(0) if the file has been fully decompressed. If the file has been fully decompressed but there are additional non-brotli bytes in the buffer, then return an InvalidData error. Also upstream errors from the reader are returned.

Auto Trait Implementations§

§

impl<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC> RefUnwindSafe for DecompressorCustomIo<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC>where AllocHC: RefUnwindSafe, AllocU32: RefUnwindSafe, AllocU8: RefUnwindSafe, BufferType: RefUnwindSafe, ErrType: RefUnwindSafe, R: RefUnwindSafe, <AllocHC as Allocator<HuffmanCode>>::AllocatedMemory: RefUnwindSafe, <AllocU32 as Allocator<u32>>::AllocatedMemory: RefUnwindSafe, <AllocU8 as Allocator<u8>>::AllocatedMemory: RefUnwindSafe,

§

impl<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC> Send for DecompressorCustomIo<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC>where AllocHC: Send, AllocU32: Send, AllocU8: Send, BufferType: Send, ErrType: Send, R: Send, <AllocHC as Allocator<HuffmanCode>>::AllocatedMemory: Send, <AllocU32 as Allocator<u32>>::AllocatedMemory: Send, <AllocU8 as Allocator<u8>>::AllocatedMemory: Send,

§

impl<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC> Sync for DecompressorCustomIo<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC>where AllocHC: Sync, AllocU32: Sync, AllocU8: Sync, BufferType: Sync, ErrType: Sync, R: Sync, <AllocHC as Allocator<HuffmanCode>>::AllocatedMemory: Sync, <AllocU32 as Allocator<u32>>::AllocatedMemory: Sync, <AllocU8 as Allocator<u8>>::AllocatedMemory: Sync,

§

impl<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC> Unpin for DecompressorCustomIo<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC>where AllocHC: Unpin, AllocU32: Unpin, AllocU8: Unpin, BufferType: Unpin, ErrType: Unpin, R: Unpin, <AllocHC as Allocator<HuffmanCode>>::AllocatedMemory: Unpin, <AllocU32 as Allocator<u32>>::AllocatedMemory: Unpin, <AllocU8 as Allocator<u8>>::AllocatedMemory: Unpin,

§

impl<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC> UnwindSafe for DecompressorCustomIo<ErrType, R, BufferType, AllocU8, AllocU32, AllocHC>where AllocHC: UnwindSafe, AllocU32: UnwindSafe, AllocU8: UnwindSafe, BufferType: UnwindSafe, ErrType: UnwindSafe, R: UnwindSafe, <AllocHC as Allocator<HuffmanCode>>::AllocatedMemory: UnwindSafe, <AllocU32 as Allocator<u32>>::AllocatedMemory: UnwindSafe, <AllocU8 as Allocator<u8>>::AllocatedMemory: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.