Skip to main content

FlowIndexKeys

Struct FlowIndexKeys 

Source
pub struct FlowIndexKeys { /* private fields */ }
Expand description

Flow-partition index keys.

Implementations§

Source§

impl FlowIndexKeys

Source

pub fn new(partition: &Partition) -> Self

Source

pub fn flow_index(&self) -> String

ff:idx:{fp:N}:flow_index — SET of flow IDs on this partition. Used by the flow projector for cluster-safe discovery (replaces SCAN).

Source

pub fn cancel_backlog(&self) -> String

ff:idx:{fp:N}:cancel_backlog — ZSET of flow IDs whose async cancel dispatch is still owed members. Score = grace-window expiry (unix ms). The cancel reconciler scanner ZRANGEBYSCOREs entries whose score <= now, drains their pending_cancels set, and ZREMs when empty. Live dispatch runs without waiting on this score, so the grace window just keeps the reconciler from fighting the happy path.

Source

pub fn pending_cancel_groups(&self) -> String

ff:idx:{fp:N}:pending_cancel_groups — RFC-016 Stage C per-flow-partition SET of <flow_id>|<downstream_eid> tuples whose edgegroup has a non-empty sibling-cancel queue awaiting dispatch. Populated atomically by ff_resolve_dependency when the AnyOf/Quorum resolver flips to satisfied|impossible under OnSatisfied::CancelRemaining; drained by the dispatcher via ff_drain_sibling_cancel_group once per-sibling cancels have been acked. The sibling-cancel dispatcher scanner iterates this SET (cluster-safe) instead of scanning edgegroup hashes.

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.