Struct rdedup_cdc::bup::Bup
[−]
[src]
pub struct Bup { /* fields omitted */ }
Rolling checksum method used by bup
Strongly based on https://github.com/bup/bup/blob/706e8d273/lib/bup/bupsplit.c https://github.com/bup/bup/blob/706e8d273/lib/bup/bupsplit.h (a bit like https://godoc.org/camlistore.org/pkg/rollsum)
Methods
impl Bup
[src]
fn new() -> Self
[src]
Create new Bup engine with default chunking settings
fn new_with_chunk_bits(chunk_bits: u32) -> Self
[src]
Create new Bup engine with custom chunking settings
chunk_bits
is number of bits that need to match in
the edge condition. CHUNK_BITS
constant is the default.
fn count_bits(&self) -> u32
[src]
Counts the number of low bits set in the rollsum, assuming
the digest has the bottom CHUNK_BITS
bits set to 1
(i.e. assuming a digest at a default bup chunk edge, as
returned by find_chunk_edge
).
Be aware that there's a deliberate 'bug' in this function
in order to match expected return values from other bupsplit
implementations.
Trait Implementations
impl Default for Bup
[src]
impl RollingHash for Bup
[src]
type Digest = u32
fn roll_byte(&mut self, newch: u8)
[src]
fn digest(&self) -> u32
[src]
Return current rolling sum digest
fn reset(&mut self)
[src]
Resets the internal state
fn roll(&mut self, buf: &[u8])
[src]
Roll over a slice of bytes