pub enum JoinPolicy {
AllOrNothing,
BestEffort,
Threshold(usize),
}Expand description
How a fan-in treats shards reaching terminal states. The default
(AllOrNothing) is strict map-reduce; the others are escape hatches
the structure supports without API breakage (corrections #2).
Variants§
AllOrNothing
Reduce fires only when all shards are Done; any Failed
shard fails the join. The default.
BestEffort
Reduce fires once every shard is terminal (Done or
Failed); the reducer inspects which succeeded. For
embarrassingly-parallel work where partial results are usable.
Threshold(usize)
Reduce fires once at least n shards are Done (quorum
map-reduce); becomes unsatisfiable — and so Failed — once too
many shards have failed for n to be reachable.
Trait Implementations§
Source§impl Clone for JoinPolicy
impl Clone for JoinPolicy
Source§fn clone(&self) -> JoinPolicy
fn clone(&self) -> JoinPolicy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for JoinPolicy
Source§impl Debug for JoinPolicy
impl Debug for JoinPolicy
Source§impl Default for JoinPolicy
impl Default for JoinPolicy
Source§fn default() -> JoinPolicy
fn default() -> JoinPolicy
Returns the “default value” for a type. Read more
impl Eq for JoinPolicy
Source§impl PartialEq for JoinPolicy
impl PartialEq for JoinPolicy
impl StructuralPartialEq for JoinPolicy
Auto Trait Implementations§
impl Freeze for JoinPolicy
impl RefUnwindSafe for JoinPolicy
impl Send for JoinPolicy
impl Sync for JoinPolicy
impl Unpin for JoinPolicy
impl UnsafeUnpin for JoinPolicy
impl UnwindSafe for JoinPolicy
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.