pub struct FlowProjector { /* private fields */ }Implementations§
Source§impl FlowProjector
impl FlowProjector
pub fn new(interval: Duration, partition_config: PartitionConfig) -> Self
Sourcepub fn with_filter(
interval: Duration,
partition_config: PartitionConfig,
filter: ScannerFilter,
) -> Self
pub fn with_filter( interval: Duration, partition_config: PartitionConfig, filter: ScannerFilter, ) -> Self
Accepts a ScannerFilter for uniform construction across
all scanners (issue #122) but does not apply it. This
scanner projects flow summaries by aggregating the public
states of many member executions per flow; per-member
filtering would add an HGET per member per flow (N×M), which
does not fit the “no extra HGET to filter” budget set in the
issue #122 design. The flow summary remains a cross-tenant
aggregate in shared-Valkey deployments — consumers that
need per-instance summaries should read exec_core directly
with the filter applied.
Trait Implementations§
Source§impl Scanner for FlowProjector
impl Scanner for FlowProjector
Source§fn filter(&self) -> &ScannerFilter
fn filter(&self) -> &ScannerFilter
Per-consumer filter applied by execution-shaped scanners to
restrict the set of candidates they act on (issue #122). Read more
Source§async fn scan_partition(&self, client: &Client, partition: u16) -> ScanResult
async fn scan_partition(&self, client: &Client, partition: u16) -> ScanResult
Scan a single partition. Called once per partition per cycle.
Source§fn sample_backlog_depth(
&self,
_client: &Client,
_partition: u16,
) -> impl Future<Output = Option<u64>> + Send
fn sample_backlog_depth( &self, _client: &Client, _partition: u16, ) -> impl Future<Output = Option<u64>> + Send
PR-94: per-cycle gauge sample. Returns
Some(depth) summed
across all partitions by the scanner runner to produce a
single gauge value (today only cancel_reconciler exports
one, feeding ff_cancel_backlog_depth). Default: None so
scanners that don’t export a gauge compile unchanged. Read moreAuto Trait Implementations§
impl Freeze for FlowProjector
impl RefUnwindSafe for FlowProjector
impl Send for FlowProjector
impl Sync for FlowProjector
impl Unpin for FlowProjector
impl UnsafeUnpin for FlowProjector
impl UnwindSafe for FlowProjector
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 more