pub enum Ind<P> {
Deliver {
from: NodeId,
msg: P,
},
SessionEnded {
peer: NodeId,
epoch: u64,
},
SessionEstablished {
peer: NodeId,
epoch: u64,
},
}Expand description
Indications to the layer above.
Variants§
Deliver
SessionEnded
The scope with peer ended at epoch. A broadcast in flight to it may have been lost, and
this layer cannot say which — it has no redundancy to bridge with, so it propagates.
Raised only over a link that reports boundaries; over a perfect link this never occurs.
Declaring it regardless is the price of one implementation serving both, and it is a price
paid by the layer above rather than by the link, which is what
docs/scope-annotated-modules.md forbids only of the link.
SessionEstablished
A scope with peer is in force at epoch. Anything to be resent can be resent now.
Trait Implementations§
impl<P: Eq> Eq for Ind<P>
impl<P: PartialEq> StructuralPartialEq for Ind<P>
Auto Trait Implementations§
impl<P> Freeze for Ind<P>where
P: Freeze,
impl<P> RefUnwindSafe for Ind<P>where
P: RefUnwindSafe,
impl<P> Send for Ind<P>where
P: Send,
impl<P> Sync for Ind<P>where
P: Sync,
impl<P> Unpin for Ind<P>where
P: Unpin,
impl<P> UnsafeUnpin for Ind<P>where
P: UnsafeUnpin,
impl<P> UnwindSafe for Ind<P>where
P: UnwindSafe,
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