pub struct ProtocolController { /* private fields */ }
Expand description
Worker side of ProtocolHandle
responsible for all the logic.
Implementations§
source§impl ProtocolController
impl ProtocolController
sourcepub fn new(
set_id: SetId,
config: ProtoSetConfig,
to_notifications: TracingUnboundedSender<Message>,
peer_store: Box<dyn PeerStoreProvider>
) -> (ProtocolHandle, ProtocolController)
pub fn new( set_id: SetId, config: ProtoSetConfig, to_notifications: TracingUnboundedSender<Message>, peer_store: Box<dyn PeerStoreProvider> ) -> (ProtocolHandle, ProtocolController)
Construct new ProtocolController
.
sourcepub async fn run(self)
pub async fn run(self)
Drive ProtocolController
. This function returns when all instances of
ProtocolHandle
are dropped.
sourcepub async fn next_action(&mut self) -> bool
pub async fn next_action(&mut self) -> bool
Perform one action. Returns true
if it should be called again.
Intended for tests only. Use run
for driving ProtocolController
.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ProtocolController
impl !RefUnwindSafe for ProtocolController
impl Send for ProtocolController
impl !Sync for ProtocolController
impl Unpin for ProtocolController
impl !UnwindSafe for ProtocolController
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> CheckedConversion for T
impl<T> CheckedConversion for T
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, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.