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