pub trait AnyHasher {
Show 14 methods
// Required methods
fn Opts(&self) -> H9Opts;
fn GetHasherCommon(&mut self) -> &mut Struct1;
fn HashBytes(&self, data: &[u8]) -> usize;
fn HashTypeLength(&self) -> usize;
fn StoreLookahead(&self) -> usize;
fn PrepareDistanceCache(&self, distance_cache: &mut [i32]);
fn FindLongestMatch(
&mut self,
dictionary: Option<&BrotliDictionary>,
dictionary_hash: &[u16],
data: &[u8],
ring_buffer_mask: usize,
ring_buffer_break: Option<NonZeroUsize>,
distance_cache: &[i32],
cur_ix: usize,
max_length: usize,
max_backward: usize,
gap: usize,
max_distance: usize,
out: &mut HasherSearchResult,
) -> bool;
fn Store(&mut self, data: &[u8], mask: usize, ix: usize);
fn StoreRange(
&mut self,
data: &[u8],
mask: usize,
ix_start: usize,
ix_end: usize,
);
fn BulkStoreRange(
&mut self,
data: &[u8],
mask: usize,
ix_start: usize,
ix_end: usize,
);
fn Prepare(
&mut self,
one_shot: bool,
input_size: usize,
data: &[u8],
) -> HowPrepared;
fn StitchToPreviousBlock(
&mut self,
num_bytes: usize,
position: usize,
ringbuffer: &[u8],
ringbuffer_mask: usize,
);
// Provided methods
fn Store4Vec4(&mut self, data: &[u8], mask: usize, ix: usize) { ... }
fn StoreEvenVec4(&mut self, data: &[u8], mask: usize, ix: usize) { ... }
}Required Methods§
fn Opts(&self) -> H9Opts
fn GetHasherCommon(&mut self) -> &mut Struct1
fn HashBytes(&self, data: &[u8]) -> usize
fn HashTypeLength(&self) -> usize
fn StoreLookahead(&self) -> usize
fn PrepareDistanceCache(&self, distance_cache: &mut [i32])
fn FindLongestMatch( &mut self, dictionary: Option<&BrotliDictionary>, dictionary_hash: &[u16], data: &[u8], ring_buffer_mask: usize, ring_buffer_break: Option<NonZeroUsize>, distance_cache: &[i32], cur_ix: usize, max_length: usize, max_backward: usize, gap: usize, max_distance: usize, out: &mut HasherSearchResult, ) -> bool
fn Store(&mut self, data: &[u8], mask: usize, ix: usize)
fn StoreRange( &mut self, data: &[u8], mask: usize, ix_start: usize, ix_end: usize, )
fn BulkStoreRange( &mut self, data: &[u8], mask: usize, ix_start: usize, ix_end: usize, )
fn Prepare( &mut self, one_shot: bool, input_size: usize, data: &[u8], ) -> HowPrepared
fn StitchToPreviousBlock( &mut self, num_bytes: usize, position: usize, ringbuffer: &[u8], ringbuffer_mask: usize, )
Provided Methods§
fn Store4Vec4(&mut self, data: &[u8], mask: usize, ix: usize)
fn StoreEvenVec4(&mut self, data: &[u8], mask: usize, ix: usize)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".