Struct rust_cascade::Cascade

source ·
pub struct Cascade { /* private fields */ }
Expand description

A multi-layer cascading Bloom filter.

Implementations§

source§

impl Cascade

source

pub fn from_bytes(bytes: Vec<u8>) -> Result<Option<Self>, CascadeError>

from_bytes attempts to decode and return a multi-layer cascading Bloom filter.

Arguments

bytes - The encoded representation of the Bloom filters in this cascade. Starts with 2 little endian bytes indicating the version. The current version is 2. The Python filter-cascade project defines the formats, see https://github.com/mozilla/filter-cascade/blob/v0.3.0/filtercascade/fileformats.py

May be of length 0, in which case None is returned.

source

pub fn to_bytes(&self) -> Result<Vec<u8>, CascadeError>

to_bytes encodes a cascade in the version 2 format.

source

pub fn has(&self, entry: Vec<u8>) -> bool

has determines if the given sequence of bytes is in the cascade.

Arguments

entry - The bytes to query

source

pub fn invert(&mut self)

source

pub fn approximate_size_of(&self) -> usize

Determine the approximate amount of memory in bytes used by this Cascade. Because this implementation does not integrate with the allocator, it can’t get an accurate measurement of how much memory it uses. However, it can make a reasonable guess, assuming the sizes of the bloom filters are large enough to dominate the overall allocated size.

Trait Implementations§

source§

impl Display for Cascade

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V