pub struct BatchFilters<K>{ /* private fields */ }Expand description
Ordered key filters for exact-key probes against file-backed batches.
The key range is kept separately from the trait objects because batches thread typed bounds through file-writer finalization and rebuild the range when they create a new reader. All other filters are stored behind a trait object so we can swap bloom for bitmap or another single post-range filter without changing the batch structs again.
Implementations§
Source§impl<K> BatchFilters<K>
impl<K> BatchFilters<K>
Sourcepub fn from_parts(
key_bounds: Option<(Box<K>, Box<K>)>,
membership_filter: Option<BatchKeyFilter>,
) -> Self
pub fn from_parts( key_bounds: Option<(Box<K>, Box<K>)>, membership_filter: Option<BatchKeyFilter>, ) -> Self
Rebuilds the filter chain from persisted key bounds and an optional membership filter.
This is the public constructor for callers that read filter state back
from disk and want the same range-then-membership behavior that trace
batches use for seek_key_exact.
Sourcepub fn stats(&self) -> BatchFilterStats
pub fn stats(&self) -> BatchFilterStats
Returns cumulative statistics for the range and membership filters.
pub fn membership_filter_kind(&self) -> FilterKind
Sourcepub fn key_bounds(&self) -> Option<(&K, &K)>
pub fn key_bounds(&self) -> Option<(&K, &K)>
Returns the cached key bounds, when available.
Trait Implementations§
Source§impl<K> Clone for BatchFilters<K>
impl<K> Clone for BatchFilters<K>
Source§impl<K> SizeOf for BatchFilters<K>
impl<K> SizeOf for BatchFilters<K>
Source§fn size_of_children(&self, context: &mut Context)
fn size_of_children(&self, context: &mut Context)
Source§fn size_of_with_context(&self, context: &mut Context)
fn size_of_with_context(&self, context: &mut Context)
Context,
including both the size of the value itself and all of its childrenAuto Trait Implementations§
impl<K> !RefUnwindSafe for BatchFilters<K>
impl<K> !UnwindSafe for BatchFilters<K>
impl<K> Freeze for BatchFilters<K>where
K: ?Sized,
impl<K> Send for BatchFilters<K>where
K: ?Sized,
impl<K> Sync for BatchFilters<K>where
K: ?Sized,
impl<K> Unpin for BatchFilters<K>where
K: ?Sized,
impl<K> UnsafeUnpin for BatchFilters<K>where
K: ?Sized,
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Data for Twhere
T: Clone + 'static,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<T> ErasedDestructor for Twhere
T: 'static,
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>
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>
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 more