Struct adler32::RollingAdler32 [−][src]
pub struct RollingAdler32 { /* fields omitted */ }
A rolling version of the Adler32 hash, which can ‘forget’ past bytes.
Calling remove() will update the hash to the value it would have if that past byte had never been fed to the algorithm. This allows you to get the hash of a rolling window very efficiently.
Implementations
impl RollingAdler32
[src]
impl RollingAdler32
[src]pub fn new() -> RollingAdler32
[src]
Creates an empty Adler32 context (with hash 1).
pub fn from_value(adler32: u32) -> RollingAdler32
[src]
Creates an Adler32 context with the given initial value.
pub fn from_buffer(buffer: &[u8]) -> RollingAdler32
[src]
Convenience function initializing a context from the hash of a buffer.
pub fn hash(&self) -> u32
[src]
Returns the current hash.
pub fn remove(&mut self, size: usize, byte: u8)
[src]
Removes the given byte
that was fed to the algorithm size
bytes ago.
pub fn update(&mut self, byte: u8)
[src]
Feeds a new byte
to the algorithm to update the hash.
pub fn update_buffer(&mut self, buffer: &[u8])
[src]
Feeds a vector of bytes to the algorithm to update the hash.
Trait Implementations
impl Clone for RollingAdler32
[src]
impl Clone for RollingAdler32
[src]fn clone(&self) -> RollingAdler32
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Default for RollingAdler32
[src]
impl Default for RollingAdler32
[src]