Struct adler32::RollingAdler32 [] [src]

pub struct RollingAdler32 {
    // some 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.