pub struct SplitBlockBloom { /* private fields */ }Expand description
Split-block bloom filter. Build once at compile time, probe at query time. Zero-allocation probe path.
Implementations§
Source§impl SplitBlockBloom
impl SplitBlockBloom
Sourcepub fn with_capacity(n: usize) -> Self
pub fn with_capacity(n: usize) -> Self
Build a filter sized for n elements with ~1% FPR.
Sourcepub fn probe(&self, key: u32) -> bool
pub fn probe(&self, key: u32) -> bool
Return true if key may be in the set (false positives possible).
Return false if key is definitely absent (no false negatives).
Sourcepub fn num_blocks(&self) -> usize
pub fn num_blocks(&self) -> usize
Number of blocks allocated (each block = 32 bytes).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SplitBlockBloom
impl RefUnwindSafe for SplitBlockBloom
impl Send for SplitBlockBloom
impl Sync for SplitBlockBloom
impl Unpin for SplitBlockBloom
impl UnsafeUnpin for SplitBlockBloom
impl UnwindSafe for SplitBlockBloom
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request