Enum libp2p::swarm::NetworkBehaviourAction [−][src]
An action that a NetworkBehaviour
can trigger in the Swarm
in whose context it is executing.
Variants
Instructs the Swarm
to return an event when it is being polled.
Instructs the swarm to dial the given multiaddress, with no knowledge of the PeerId
that
may be reached.
Fields of DialAddress
address: Multiaddr
The address to dial.
Instructs the swarm to dial a known PeerId
.
The addresses_of_peer
method is called to determine which addresses to attempt to reach.
If we were already trying to dial this node, the addresses that are not yet in the queue of addresses to try are added back to this queue.
On success, NetworkBehaviour::inject_connected
is invoked.
On failure, NetworkBehaviour::inject_dial_failure
is invoked.
Fields of DialPeer
peer_id: PeerId
The peer to try reach.
condition: DialPeerCondition
The condition for initiating a new dialing attempt.
Instructs the Swarm
to send an event to the handler dedicated to a
connection with a peer.
If the Swarm
is connected to the peer, the message is delivered to the
ProtocolsHandler
instance identified by the peer ID and connection ID.
If the specified connection no longer exists, the event is silently dropped.
Typically the connection ID given is the same as the one passed to
NetworkBehaviour::inject_event
, i.e. whenever the behaviour wishes to
respond to a request on the same connection (and possibly the same
substream, as per the implementation of ProtocolsHandler
).
Note that even if the peer is currently connected, connections can get closed at any time and thus the event may not reach a handler.
Fields of NotifyHandler
peer_id: PeerId
The peer for whom a ProtocolsHandler
should be notified.
handler: NotifyHandler
The ID of the connection whose ProtocolsHandler
to notify.
event: TInEvent
The event to send.
Informs the Swarm
about a multi-address observed by a remote for
the local node.
It is advisable to issue ReportObservedAddr
actions at a fixed frequency
per node. This way address information will be more accurate over time
and individual outliers carry less weight.
Fields of ReportObservedAddr
address: Multiaddr
The observed address of the local node.
Implementations
impl<TInEvent, TOutEvent> NetworkBehaviourAction<TInEvent, TOutEvent>
[src]
pub fn map_in<E>(
self,
f: impl FnOnce(TInEvent) -> E
) -> NetworkBehaviourAction<E, TOutEvent>
[src]
self,
f: impl FnOnce(TInEvent) -> E
) -> NetworkBehaviourAction<E, TOutEvent>
Map the handler event.
pub fn map_out<E>(
self,
f: impl FnOnce(TOutEvent) -> E
) -> NetworkBehaviourAction<TInEvent, E>
[src]
self,
f: impl FnOnce(TOutEvent) -> E
) -> NetworkBehaviourAction<TInEvent, E>
Map the event the swarm will return.
Trait Implementations
impl<TInEvent, TOutEvent> Clone for NetworkBehaviourAction<TInEvent, TOutEvent> where
TInEvent: Clone,
TOutEvent: Clone,
[src]
TInEvent: Clone,
TOutEvent: Clone,
pub fn clone(&self) -> NetworkBehaviourAction<TInEvent, TOutEvent>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<TInEvent, TOutEvent> Debug for NetworkBehaviourAction<TInEvent, TOutEvent> where
TInEvent: Debug,
TOutEvent: Debug,
[src]
TInEvent: Debug,
TOutEvent: Debug,
Auto Trait Implementations
impl<TInEvent, TOutEvent> RefUnwindSafe for NetworkBehaviourAction<TInEvent, TOutEvent> where
TInEvent: RefUnwindSafe,
TOutEvent: RefUnwindSafe,
TInEvent: RefUnwindSafe,
TOutEvent: RefUnwindSafe,
impl<TInEvent, TOutEvent> Send for NetworkBehaviourAction<TInEvent, TOutEvent> where
TInEvent: Send,
TOutEvent: Send,
TInEvent: Send,
TOutEvent: Send,
impl<TInEvent, TOutEvent> Sync for NetworkBehaviourAction<TInEvent, TOutEvent> where
TInEvent: Sync,
TOutEvent: Sync,
TInEvent: Sync,
TOutEvent: Sync,
impl<TInEvent, TOutEvent> Unpin for NetworkBehaviourAction<TInEvent, TOutEvent> where
TInEvent: Unpin,
TOutEvent: Unpin,
TInEvent: Unpin,
TOutEvent: Unpin,
impl<TInEvent, TOutEvent> UnwindSafe for NetworkBehaviourAction<TInEvent, TOutEvent> where
TInEvent: UnwindSafe,
TOutEvent: UnwindSafe,
TInEvent: UnwindSafe,
TOutEvent: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,