pub enum Effect<Ctx: Context> {
BroadcastStatus(Ctx::Height, Continue),
SendValueRequest(PeerId, ValueRequest<Ctx>, ValueRequestId),
SendValueResponse(InboundRequestId, ValueResponse<Ctx>, Continue),
GetDecidedValues(InboundRequestId, RangeInclusive<Ctx::Height>, Continue),
ProcessValueResponse(PeerId, OutboundRequestId, ValueResponse<Ctx>, Continue),
}Variants§
BroadcastStatus(Ctx::Height, Continue)
Broadcast our status to our direct peers
SendValueRequest(PeerId, ValueRequest<Ctx>, ValueRequestId)
Send a ValueSync request to a peer
SendValueResponse(InboundRequestId, ValueResponse<Ctx>, Continue)
Send a response to a ValueSync request
GetDecidedValues(InboundRequestId, RangeInclusive<Ctx::Height>, Continue)
Retrieve a range of values from the application
ProcessValueResponse(PeerId, OutboundRequestId, ValueResponse<Ctx>, Continue)
Tell consensus to process the sync response
Trait Implementations§
Auto Trait Implementations§
impl<Ctx> Freeze for Effect<Ctx>where
<Ctx as Context>::Height: Freeze,
ValueRequest<Ctx>: Freeze,
ValueResponse<Ctx>: Freeze,
RangeInclusive<<Ctx as Context>::Height>: Freeze,
impl<Ctx> RefUnwindSafe for Effect<Ctx>where
<Ctx as Context>::Height: RefUnwindSafe,
ValueRequest<Ctx>: RefUnwindSafe,
ValueResponse<Ctx>: RefUnwindSafe,
RangeInclusive<<Ctx as Context>::Height>: RefUnwindSafe,
impl<Ctx> Send for Effect<Ctx>where
<Ctx as Context>::Height: Send,
ValueRequest<Ctx>: Send,
ValueResponse<Ctx>: Send,
RangeInclusive<<Ctx as Context>::Height>: Send,
impl<Ctx> Sync for Effect<Ctx>where
<Ctx as Context>::Height: Sync,
ValueRequest<Ctx>: Sync,
ValueResponse<Ctx>: Sync,
RangeInclusive<<Ctx as Context>::Height>: Sync,
impl<Ctx> Unpin for Effect<Ctx>where
<Ctx as Context>::Height: Unpin,
ValueRequest<Ctx>: Unpin,
ValueResponse<Ctx>: Unpin,
RangeInclusive<<Ctx as Context>::Height>: Unpin,
impl<Ctx> UnsafeUnpin for Effect<Ctx>where
<Ctx as Context>::Height: UnsafeUnpin,
ValueRequest<Ctx>: UnsafeUnpin,
ValueResponse<Ctx>: UnsafeUnpin,
RangeInclusive<<Ctx as Context>::Height>: UnsafeUnpin,
impl<Ctx> UnwindSafe for Effect<Ctx>where
<Ctx as Context>::Height: UnwindSafe,
ValueRequest<Ctx>: UnwindSafe,
ValueResponse<Ctx>: UnwindSafe,
RangeInclusive<<Ctx as Context>::Height>: UnwindSafe,
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more