Enum sc_network_common::protocol::event::Event
source · pub enum Event {
Dht(DhtEvent),
SyncConnected {
remote: PeerId,
},
SyncDisconnected {
remote: PeerId,
},
NotificationStreamOpened {
remote: PeerId,
protocol: ProtocolName,
negotiated_fallback: Option<ProtocolName>,
role: ObservedRole,
},
NotificationStreamClosed {
remote: PeerId,
protocol: ProtocolName,
},
NotificationsReceived {
remote: PeerId,
messages: Vec<(ProtocolName, Bytes)>,
},
}
Expand description
Type for events generated by networking layer.
Variants§
Dht(DhtEvent)
Event generated by a DHT.
SyncConnected
Fields
remote: PeerId
Node we are now syncing from.
Now connected to a new peer for syncing purposes.
SyncDisconnected
Fields
remote: PeerId
Node we are no longer syncing from.
Now disconnected from a peer for syncing purposes.
NotificationStreamOpened
Fields
remote: PeerId
Node we opened the substream with.
protocol: ProtocolName
The concerned protocol. Each protocol uses a different substream.
This is always equal to the value of
sc_network::config::NonDefaultSetConfig::notifications_protocol
of one of the
configured sets.
negotiated_fallback: Option<ProtocolName>
If the negotiation didn’t use the main name of the protocol (the one in
notifications_protocol
), then this field contains which name has actually been
used.
Always contains a value equal to the value in
sc_network::config::NonDefaultSetConfig::fallback_names
.
role: ObservedRole
Role of the remote.
Opened a substream with the given node with the given notifications protocol.
The protocol is always one of the notification protocols that have been registered.
NotificationStreamClosed
Fields
remote: PeerId
Node we closed the substream with.
protocol: ProtocolName
The concerned protocol. Each protocol uses a different substream.
Closed a substream with the given node. Always matches a corresponding previous
NotificationStreamOpened
message.
NotificationsReceived
Fields
remote: PeerId
Node we received the message from.
messages: Vec<(ProtocolName, Bytes)>
Concerned protocol and associated message.
Received one or more messages from the given node using the given protocol.
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Event
impl Send for Event
impl Sync for Event
impl Unpin for Event
impl UnwindSafe for Event
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.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>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.