[][src]Struct adler32::RollingAdler32

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.


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 Default for RollingAdler32[src]

Auto Trait Implementations

impl RefUnwindSafe for RollingAdler32

impl Send for RollingAdler32

impl Sync for RollingAdler32

impl Unpin for RollingAdler32

impl UnwindSafe for RollingAdler32

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.