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.
Methods
impl RollingAdler32
[src]
fn new() -> RollingAdler32
Creates an empty Adler32 context (with hash 1).
fn from_value(adler32: u32) -> RollingAdler32
Creates an Adler32 context with the given initial value.
fn from_buffer(buffer: &[u8]) -> RollingAdler32
Convenience function initializing a context from the hash of a buffer.
fn hash(&self) -> u32
Returns the current hash.
fn remove(&mut self, size: usize, byte: u8)
Removes the given byte
that was fed to the algorithm size
bytes ago.
fn update(&mut self, byte: u8)
Feeds a new byte
to the algorithm to update the hash.
fn update_buffer(&mut self, buffer: &[u8])
Feeds a vector of bytes to the algorithm to update the hash.