Struct libp2p::swarm::toggle::Toggle [−][src]
pub struct Toggle<TBehaviour> { /* fields omitted */ }
Expand description
Implementation of NetworkBehaviour
that can be either in the disabled or enabled state.
The state can only be chosen at initialization.
Implementations
Returns true
if Toggle
is enabled and false
if it’s disabled.
Trait Implementations
type ProtocolsHandler = ToggleIntoProtoHandler<<TBehaviour as NetworkBehaviour>::ProtocolsHandler>
type ProtocolsHandler = ToggleIntoProtoHandler<<TBehaviour as NetworkBehaviour>::ProtocolsHandler>
Handler for all the protocols the network behaviour supports.
type OutEvent = <TBehaviour as NetworkBehaviour>::OutEvent
type OutEvent = <TBehaviour as NetworkBehaviour>::OutEvent
Event generated by the NetworkBehaviour
and that the swarm will report back.
Creates a new ProtocolsHandler
for a connection with a peer. Read more
Addresses that this behaviour is aware of for this specific peer, and that may allow reaching the peer. Read more
Indicate to the behaviour that we connected to the node with the given peer id. Read more
Indicates to the behaviour that we disconnected from the node with the given peer id. Read more
pub fn inject_connection_established(
&mut self,
peer_id: &PeerId,
connection: &ConnectionId,
endpoint: &ConnectedPoint
)
pub fn inject_connection_established(
&mut self,
peer_id: &PeerId,
connection: &ConnectionId,
endpoint: &ConnectedPoint
)
Informs the behaviour about a newly established connection to a peer.
pub fn inject_connection_closed(
&mut self,
peer_id: &PeerId,
connection: &ConnectionId,
endpoint: &ConnectedPoint
)
pub fn inject_connection_closed(
&mut self,
peer_id: &PeerId,
connection: &ConnectionId,
endpoint: &ConnectedPoint
)
Informs the behaviour about a closed connection to a peer. Read more
pub fn inject_address_change(
&mut self,
peer_id: &PeerId,
connection: &ConnectionId,
old: &ConnectedPoint,
new: &ConnectedPoint
)
pub fn inject_address_change(
&mut self,
peer_id: &PeerId,
connection: &ConnectionId,
old: &ConnectedPoint,
new: &ConnectedPoint
)
Informs the behaviour that the ConnectedPoint
of an existing connection has changed.
pub fn inject_event(
&mut self,
peer_id: PeerId,
connection: ConnectionId,
event: <<<Toggle<TBehaviour> as NetworkBehaviour>::ProtocolsHandler as IntoProtocolsHandler>::Handler as ProtocolsHandler>::OutEvent
)
pub fn inject_event(
&mut self,
peer_id: PeerId,
connection: ConnectionId,
event: <<<Toggle<TBehaviour> as NetworkBehaviour>::ProtocolsHandler as IntoProtocolsHandler>::Handler as ProtocolsHandler>::OutEvent
)
Informs the behaviour about an event generated by the handler dedicated to the peer identified by peer_id
.
for the behaviour. Read more
Indicates to the behaviour that we tried to reach an address, but failed. Read more
Indicates to the behaviour that we tried to dial all the addresses known for a node, but failed. Read more
Indicates to the behaviour that a new listener was created.
Indicates to the behaviour that we have started listening on a new multiaddr.
Indicates to the behaviour that a multiaddr we were listening on has expired, which means that we are no longer listening in it. Read more
Indicates to the behaviour that we have discovered a new external address for us.
Indicates to the behaviour that an external address was removed.
A listener experienced an error.
A listener closed.
pub fn poll(
&mut self,
cx: &mut Context<'_>,
params: &mut impl PollParameters
) -> Poll<NetworkBehaviourAction<<<<Toggle<TBehaviour> as NetworkBehaviour>::ProtocolsHandler as IntoProtocolsHandler>::Handler as ProtocolsHandler>::InEvent, <Toggle<TBehaviour> as NetworkBehaviour>::OutEvent>>
pub fn poll(
&mut self,
cx: &mut Context<'_>,
params: &mut impl PollParameters
) -> Poll<NetworkBehaviourAction<<<<Toggle<TBehaviour> as NetworkBehaviour>::ProtocolsHandler as IntoProtocolsHandler>::Handler as ProtocolsHandler>::InEvent, <Toggle<TBehaviour> as NetworkBehaviour>::OutEvent>>
Polls for things that swarm should do. Read more
impl<TEvent, TBehaviour> NetworkBehaviourEventProcess<TEvent> for Toggle<TBehaviour> where
TBehaviour: NetworkBehaviourEventProcess<TEvent>,
impl<TEvent, TBehaviour> NetworkBehaviourEventProcess<TEvent> for Toggle<TBehaviour> where
TBehaviour: NetworkBehaviourEventProcess<TEvent>,
Called when one of the fields of the type you’re deriving NetworkBehaviour
on generates
an event. Read more
Auto Trait Implementations
impl<TBehaviour> RefUnwindSafe for Toggle<TBehaviour> where
TBehaviour: RefUnwindSafe,
impl<TBehaviour> UnwindSafe for Toggle<TBehaviour> where
TBehaviour: UnwindSafe,