Struct brotli_decompressor::writer::BrotliState
source · pub struct BrotliState<AllocU8: Allocator<u8>, AllocU32: Allocator<u32>, AllocHC: Allocator<HuffmanCode>> {Show 79 fields
pub state: BrotliRunningState,
pub loop_counter: i32,
pub br: BrotliBitReader,
pub alloc_u8: AllocU8,
pub alloc_u32: AllocU32,
pub alloc_hc: AllocHC,
pub buffer: [u8; 8],
pub buffer_length: u32,
pub pos: i32,
pub max_backward_distance: i32,
pub max_backward_distance_minus_custom_dict_size: i32,
pub max_distance: i32,
pub ringbuffer_size: i32,
pub ringbuffer_mask: i32,
pub dist_rb_idx: i32,
pub dist_rb: [i32; 4],
pub ringbuffer: AllocU8::AllocatedMemory,
pub htree_command_index: u16,
pub context_lookup: &'static [u8; 512],
pub context_map_slice_index: usize,
pub dist_context_map_slice_index: usize,
pub sub_loop_counter: u32,
pub literal_hgroup: HuffmanTreeGroup<AllocU32, AllocHC>,
pub insert_copy_hgroup: HuffmanTreeGroup<AllocU32, AllocHC>,
pub distance_hgroup: HuffmanTreeGroup<AllocU32, AllocHC>,
pub trivial_literal_context: i32,
pub distance_context: i32,
pub meta_block_remaining_len: i32,
pub block_type_length_state: BlockTypeAndLengthState<AllocHC>,
pub distance_postfix_bits: u32,
pub num_direct_distance_codes: u32,
pub distance_postfix_mask: i32,
pub num_dist_htrees: u32,
pub dist_context_map: AllocU8::AllocatedMemory,
pub literal_htree_index: u8,
pub dist_htree_index: u8,
pub large_window: bool,
pub should_wrap_ringbuffer: bool,
pub error_code: BrotliDecoderErrorCode,
pub repeat_code_len: u32,
pub prev_code_len: u32,
pub copy_length: i32,
pub distance_code: i32,
pub rb_roundtrips: usize,
pub partial_pos_out: usize,
pub symbol: u32,
pub repeat: u32,
pub space: u32,
pub table: [HuffmanCode; 32],
pub symbol_lists_index: usize,
pub symbols_lists_array: [u16; 720],
pub next_symbol: [i32; 32],
pub code_length_code_lengths: [u8; 18],
pub code_length_histo: [u16; 16],
pub htree_index: i32,
pub htree_next_offset: u32,
pub context_index: u32,
pub max_run_length_prefix: u32,
pub code: u32,
pub context_map_table: AllocHC::AllocatedMemory,
pub mtf_upper_bound: u32,
pub mtf_or_error_string: Result<[u8; 256], [u8; 256]>,
pub custom_dict: AllocU8::AllocatedMemory,
pub custom_dict_size: i32,
pub substate_metablock_header: BrotliRunningMetablockHeaderState,
pub substate_tree_group: BrotliRunningTreeGroupState,
pub substate_context_map: BrotliRunningContextMapState,
pub substate_uncompressed: BrotliRunningUncompressedState,
pub substate_huffman: BrotliRunningHuffmanState,
pub substate_decode_uint8: BrotliRunningDecodeUint8State,
pub is_last_metablock: u8,
pub is_uncompressed: u8,
pub is_metadata: u8,
pub size_nibbles: u8,
pub window_bits: u32,
pub num_literal_htrees: u32,
pub context_map: AllocU8::AllocatedMemory,
pub context_modes: AllocU8::AllocatedMemory,
pub trivial_literal_contexts: [u32; 8],
}
Fields§
§state: BrotliRunningState
§loop_counter: i32
§br: BrotliBitReader
§alloc_u8: AllocU8
§alloc_u32: AllocU32
§alloc_hc: AllocHC
§buffer: [u8; 8]
§buffer_length: u32
§pos: i32
§max_backward_distance: i32
§max_backward_distance_minus_custom_dict_size: i32
§max_distance: i32
§ringbuffer_size: i32
§ringbuffer_mask: i32
§dist_rb_idx: i32
§dist_rb: [i32; 4]
§ringbuffer: AllocU8::AllocatedMemory
§htree_command_index: u16
§context_lookup: &'static [u8; 512]
§context_map_slice_index: usize
§dist_context_map_slice_index: usize
§sub_loop_counter: u32
§literal_hgroup: HuffmanTreeGroup<AllocU32, AllocHC>
§insert_copy_hgroup: HuffmanTreeGroup<AllocU32, AllocHC>
§distance_hgroup: HuffmanTreeGroup<AllocU32, AllocHC>
§trivial_literal_context: i32
§distance_context: i32
§meta_block_remaining_len: i32
§block_type_length_state: BlockTypeAndLengthState<AllocHC>
§distance_postfix_bits: u32
§num_direct_distance_codes: u32
§distance_postfix_mask: i32
§num_dist_htrees: u32
§dist_context_map: AllocU8::AllocatedMemory
§literal_htree_index: u8
§dist_htree_index: u8
§large_window: bool
§should_wrap_ringbuffer: bool
§error_code: BrotliDecoderErrorCode
§repeat_code_len: u32
§prev_code_len: u32
§copy_length: i32
§distance_code: i32
§rb_roundtrips: usize
§partial_pos_out: usize
§symbol: u32
§repeat: u32
§space: u32
§table: [HuffmanCode; 32]
§symbol_lists_index: usize
§symbols_lists_array: [u16; 720]
§next_symbol: [i32; 32]
§code_length_code_lengths: [u8; 18]
§code_length_histo: [u16; 16]
§htree_index: i32
§htree_next_offset: u32
§context_index: u32
§max_run_length_prefix: u32
§code: u32
§context_map_table: AllocHC::AllocatedMemory
§mtf_upper_bound: u32
§mtf_or_error_string: Result<[u8; 256], [u8; 256]>
§custom_dict: AllocU8::AllocatedMemory
§custom_dict_size: i32
§substate_metablock_header: BrotliRunningMetablockHeaderState
§substate_tree_group: BrotliRunningTreeGroupState
§substate_context_map: BrotliRunningContextMapState
§substate_uncompressed: BrotliRunningUncompressedState
§substate_huffman: BrotliRunningHuffmanState
§substate_decode_uint8: BrotliRunningDecodeUint8State
§is_last_metablock: u8
§is_uncompressed: u8
§is_metadata: u8
§size_nibbles: u8
§window_bits: u32
§num_literal_htrees: u32
§context_map: AllocU8::AllocatedMemory
§context_modes: AllocU8::AllocatedMemory
§trivial_literal_contexts: [u32; 8]
Implementations§
source§impl<'brotli_state, AllocU8: Allocator<u8>, AllocU32: Allocator<u32>, AllocHC: Allocator<HuffmanCode>> BrotliState<AllocU8, AllocU32, AllocHC>
impl<'brotli_state, AllocU8: Allocator<u8>, AllocU32: Allocator<u32>, AllocHC: Allocator<HuffmanCode>> BrotliState<AllocU8, AllocU32, AllocHC>
pub fn new(alloc_u8: AllocU8, alloc_u32: AllocU32, alloc_hc: AllocHC) -> Self
pub fn new_with_custom_dictionary( alloc_u8: AllocU8, alloc_u32: AllocU32, alloc_hc: AllocHC, custom_dict: AllocU8::AllocatedMemory, ) -> Self
pub fn new_strict( alloc_u8: AllocU8, alloc_u32: AllocU32, alloc_hc: AllocHC, ) -> Self
pub fn BrotliStateMetablockBegin(&mut self)
pub fn BrotliStateCleanupAfterMetablock(&mut self)
pub fn BrotliStateIsStreamStart(&self) -> bool
pub fn BrotliStateIsStreamEnd(&self) -> bool
pub fn BrotliHuffmanTreeGroupInit( &mut self, group: WhichTreeGroup, alphabet_size: u16, max_symbol: u16, ntrees: u16, )
pub fn BrotliHuffmanTreeGroupRelease(&mut self, group: WhichTreeGroup)
Trait Implementations§
Auto Trait Implementations§
impl<AllocU8, AllocU32, AllocHC> Freeze for BrotliState<AllocU8, AllocU32, AllocHC>where
AllocU8: Freeze,
AllocU32: Freeze,
AllocHC: Freeze,
<AllocU8 as Allocator<u8>>::AllocatedMemory: Freeze,
<AllocHC as Allocator<HuffmanCode>>::AllocatedMemory: Freeze,
<AllocU32 as Allocator<u32>>::AllocatedMemory: Freeze,
impl<AllocU8, AllocU32, AllocHC> RefUnwindSafe for BrotliState<AllocU8, AllocU32, AllocHC>where
AllocU8: RefUnwindSafe,
AllocU32: RefUnwindSafe,
AllocHC: RefUnwindSafe,
<AllocU8 as Allocator<u8>>::AllocatedMemory: RefUnwindSafe,
<AllocHC as Allocator<HuffmanCode>>::AllocatedMemory: RefUnwindSafe,
<AllocU32 as Allocator<u32>>::AllocatedMemory: RefUnwindSafe,
impl<AllocU8, AllocU32, AllocHC> Send for BrotliState<AllocU8, AllocU32, AllocHC>where
AllocU8: Send,
AllocU32: Send,
AllocHC: Send,
<AllocU8 as Allocator<u8>>::AllocatedMemory: Send,
<AllocHC as Allocator<HuffmanCode>>::AllocatedMemory: Send,
<AllocU32 as Allocator<u32>>::AllocatedMemory: Send,
impl<AllocU8, AllocU32, AllocHC> Sync for BrotliState<AllocU8, AllocU32, AllocHC>where
AllocU8: Sync,
AllocU32: Sync,
AllocHC: Sync,
<AllocU8 as Allocator<u8>>::AllocatedMemory: Sync,
<AllocHC as Allocator<HuffmanCode>>::AllocatedMemory: Sync,
<AllocU32 as Allocator<u32>>::AllocatedMemory: Sync,
impl<AllocU8, AllocU32, AllocHC> Unpin for BrotliState<AllocU8, AllocU32, AllocHC>where
AllocU8: Unpin,
AllocU32: Unpin,
AllocHC: Unpin,
<AllocU8 as Allocator<u8>>::AllocatedMemory: Unpin,
<AllocHC as Allocator<HuffmanCode>>::AllocatedMemory: Unpin,
<AllocU32 as Allocator<u32>>::AllocatedMemory: Unpin,
impl<AllocU8, AllocU32, AllocHC> UnwindSafe for BrotliState<AllocU8, AllocU32, AllocHC>where
AllocU8: UnwindSafe,
AllocU32: UnwindSafe,
AllocHC: UnwindSafe,
<AllocU8 as Allocator<u8>>::AllocatedMemory: UnwindSafe,
<AllocHC as Allocator<HuffmanCode>>::AllocatedMemory: UnwindSafe,
<AllocU32 as Allocator<u32>>::AllocatedMemory: UnwindSafe,
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