pub struct InMemoryCoverage { /* private fields */ }Expand description
A pod-local, in-memory coverage store. Real deployments back this with a durable store colocated with raw (ADR-0053); this is the local write-behind tier and the test/reference implementation. Union-merge semantics are the same regardless of backing.
Implementations§
Trait Implementations§
Source§impl CoverageStore for InMemoryCoverage
impl CoverageStore for InMemoryCoverage
Source§fn record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
sink: &'life1 SinkId,
span: &'life2 OffsetSpan,
) -> Pin<Box<dyn Future<Output = Result<(), CoverageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
sink: &'life1 SinkId,
span: &'life2 OffsetSpan,
) -> Pin<Box<dyn Future<Output = Result<(), CoverageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Record that
span was durably written by sink. Merges by union with
existing coverage; overlapping/adjacent ranges coalesce. Idempotent. Read moreSource§fn covered<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
sink: &'life1 SinkId,
topic: &'life2 str,
partition: i32,
) -> Pin<Box<dyn Future<Output = Result<Vec<CoveredRange>, CoverageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn covered<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
sink: &'life1 SinkId,
topic: &'life2 str,
partition: i32,
) -> Pin<Box<dyn Future<Output = Result<Vec<CoveredRange>, CoverageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn gaps<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
sink: &'life1 SinkId,
topic: &'life2 str,
partition: i32,
up_to: i64,
) -> Pin<Box<dyn Future<Output = Result<Vec<CoveredRange>, CoverageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn gaps<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
sink: &'life1 SinkId,
topic: &'life2 str,
partition: i32,
up_to: i64,
) -> Pin<Box<dyn Future<Output = Result<Vec<CoveredRange>, CoverageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
The gaps in
[0, up_to) not yet covered for (sink, topic, partition) —
the windows recovery must replay. Read moreSource§impl Debug for InMemoryCoverage
impl Debug for InMemoryCoverage
Source§impl Default for InMemoryCoverage
impl Default for InMemoryCoverage
Source§fn default() -> InMemoryCoverage
fn default() -> InMemoryCoverage
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for InMemoryCoverage
impl RefUnwindSafe for InMemoryCoverage
impl Send for InMemoryCoverage
impl Sync for InMemoryCoverage
impl Unpin for InMemoryCoverage
impl UnwindSafe for InMemoryCoverage
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