pub struct BspCoordinator {
pub algorithm: String,
pub iteration: u32,
pub max_iterations: u32,
pub tolerance: f64,
pub shard_ids: Vec<u32>,
pub acks: HashMap<u32, SuperstepAck>,
pub completed: bool,
pub system_as_of: Option<i64>,
}Fields§
§algorithm: String§iteration: u32§max_iterations: u32§tolerance: f64§shard_ids: Vec<u32>§acks: HashMap<u32, SuperstepAck>§completed: bool§system_as_of: Option<i64>Bitemporal system-time ordinal for this run. Stamped onto every
SuperstepBarrier so all shards materialize the same historical
topology. None means current state.
Implementations§
Source§impl BspCoordinator
impl BspCoordinator
pub fn new( algorithm: String, max_iterations: u32, tolerance: f64, shard_ids: Vec<u32>, ) -> Self
pub fn new_as_of( algorithm: String, max_iterations: u32, tolerance: f64, shard_ids: Vec<u32>, system_as_of: Option<i64>, ) -> Self
pub fn record_ack(&mut self, ack: SuperstepAck)
pub fn all_acked(&self) -> bool
Sourcepub fn global_delta(&self) -> f64
pub fn global_delta(&self) -> f64
Sum of per-shard convergence deltas. Only meaningful when all_acked().
Sourcepub fn total_vertices(&self) -> usize
pub fn total_vertices(&self) -> usize
Total vertex count across all shards. Only meaningful when all_acked().
pub fn barrier_message(&self) -> SuperstepBarrier
pub fn completion_message(&self) -> AlgoComplete
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BspCoordinator
impl RefUnwindSafe for BspCoordinator
impl Send for BspCoordinator
impl Sync for BspCoordinator
impl Unpin for BspCoordinator
impl UnsafeUnpin for BspCoordinator
impl UnwindSafe for BspCoordinator
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> 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<'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.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.