pub struct DistributedMatchCoordinator {
pub completed: Vec<HashMap<String, String>>,
pub pending: HashMap<u16, Vec<PatternContinuation>>,
pub round: u32,
pub max_rounds: u32,
}Expand description
Coordinator state for distributed MATCH execution.
Tracks pending continuations and completed results across rounds of scatter-gather until all continuations are resolved.
Fields§
§completed: Vec<HashMap<String, String>>Completed result rows from all shards.
pending: HashMap<u16, Vec<PatternContinuation>>Pending continuations grouped by target shard.
round: u32Round counter (for debugging / max-round termination).
max_rounds: u32Maximum rounds before forced termination (prevent infinite loops).
Implementations§
Source§impl DistributedMatchCoordinator
impl DistributedMatchCoordinator
pub fn new(max_rounds: u32) -> Self
Sourcepub fn add_shard_result(&mut self, result: ShardMatchResult)
pub fn add_shard_result(&mut self, result: ShardMatchResult)
Ingest results from a shard.
Sourcepub fn has_pending(&self) -> bool
pub fn has_pending(&self) -> bool
Check if there are pending continuations to dispatch.
Sourcepub fn take_pending(&mut self, shard_id: u16) -> Vec<PatternContinuation>
pub fn take_pending(&mut self, shard_id: u16) -> Vec<PatternContinuation>
Take all pending continuations for a target shard.
Sourcepub fn take_all_pending(&mut self) -> HashMap<u16, Vec<PatternContinuation>>
pub fn take_all_pending(&mut self) -> HashMap<u16, Vec<PatternContinuation>>
Take all pending continuations, grouped by target shard.
Sourcepub fn result_count(&self) -> usize
pub fn result_count(&self) -> usize
Total completed rows.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DistributedMatchCoordinator
impl RefUnwindSafe for DistributedMatchCoordinator
impl Send for DistributedMatchCoordinator
impl Sync for DistributedMatchCoordinator
impl Unpin for DistributedMatchCoordinator
impl UnsafeUnpin for DistributedMatchCoordinator
impl UnwindSafe for DistributedMatchCoordinator
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.