pub enum DispatchImpact {
Unchanged,
Changed {
conversation_id: ConversationId,
effects: BTreeMap<DispatchEffect, BTreeSet<DispatchTarget>>,
settled_epochs: Vec<u64>,
},
}Expand description
Complete request-level post-commit dispatch impact.
Variants§
Unchanged
No committed subcommit changed dispatch permission.
Changed
At least one truthful effect occurred for one conversation.
Fields
conversation_id: ConversationIdConversation whose locked authority produced the effects.
effects: BTreeMap<DispatchEffect, BTreeSet<DispatchTarget>>Effect map. Individual truthful effects may have no current binding target. May be empty when only a settlement cleared.
settled_epochs: Vec<u64>Marker settlement epochs this request’s durable drains CLEARED (participant contract §0.16 condition 2).
A separate lane from effects on purpose: an effect names a
participant BINDING eligible to be told about changed dispatch
permission, and a connection refused MarkerSettlementBackpressure
holds no binding — that is precisely why the amendment needs a
pushed wake instead of a ParticipantDelivery. Routing settlements
through DispatchTarget would therefore be routing them to the one
population that cannot receive them.
Implementations§
Source§impl DispatchImpact
impl DispatchImpact
Sourcepub const fn conversation_id(&self) -> Option<ConversationId>
pub const fn conversation_id(&self) -> Option<ConversationId>
Returns the changed conversation, if any.
Sourcepub fn settled_epochs(&self) -> &[u64]
pub fn settled_epochs(&self) -> &[u64]
Returns the marker settlement epochs cleared by this request.
Sourcepub const fn effects(
&self,
) -> Option<&BTreeMap<DispatchEffect, BTreeSet<DispatchTarget>>>
pub const fn effects( &self, ) -> Option<&BTreeMap<DispatchEffect, BTreeSet<DispatchTarget>>>
Returns the effect map for a changed impact.
Sourcepub fn target_union(&self) -> BTreeSet<DispatchTarget>
pub fn target_union(&self) -> BTreeSet<DispatchTarget>
Unions and deduplicates all exact targets without applying effect precedence.
Trait Implementations§
Source§impl Clone for DispatchImpact
impl Clone for DispatchImpact
Source§fn clone(&self) -> DispatchImpact
fn clone(&self) -> DispatchImpact
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DispatchImpact
impl Debug for DispatchImpact
impl Eq for DispatchImpact
Source§impl PartialEq for DispatchImpact
impl PartialEq for DispatchImpact
impl StructuralPartialEq for DispatchImpact
Auto Trait Implementations§
impl Freeze for DispatchImpact
impl RefUnwindSafe for DispatchImpact
impl Send for DispatchImpact
impl Sync for DispatchImpact
impl Unpin for DispatchImpact
impl UnsafeUnpin for DispatchImpact
impl UnwindSafe for DispatchImpact
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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
key and return true if they are equal.