Enum libp2p_swarm::SwarmEvent
source · [−]pub enum SwarmEvent<TBvEv, THandleErr> {
Show 13 variants
Behaviour(TBvEv),
ConnectionEstablished {
peer_id: PeerId,
endpoint: ConnectedPoint,
num_established: NonZeroU32,
},
ConnectionClosed {
peer_id: PeerId,
endpoint: ConnectedPoint,
num_established: u32,
cause: Option<ConnectionError<NodeHandlerWrapperError<THandleErr>>>,
},
IncomingConnection {
local_addr: Multiaddr,
send_back_addr: Multiaddr,
},
IncomingConnectionError {
local_addr: Multiaddr,
send_back_addr: Multiaddr,
error: PendingConnectionError<Error>,
},
BannedPeer {
peer_id: PeerId,
endpoint: ConnectedPoint,
},
UnreachableAddr {
peer_id: PeerId,
address: Multiaddr,
error: PendingConnectionError<Error>,
attempts_remaining: u32,
},
UnknownPeerUnreachableAddr {
address: Multiaddr,
error: PendingConnectionError<Error>,
},
NewListenAddr(Multiaddr),
ExpiredListenAddr(Multiaddr),
ListenerClosed {
addresses: Vec<Multiaddr>,
reason: Result<(), Error>,
},
ListenerError {
error: Error,
},
Dialing(PeerId),
}
Expand description
Event generated by the Swarm
.
Variants
Behaviour(TBvEv)
Event generated by the NetworkBehaviour
.
ConnectionEstablished
Fields
peer_id: PeerId
Identity of the peer that we have connected to.
endpoint: ConnectedPoint
Endpoint of the connection that has been opened.
num_established: NonZeroU32
Number of established connections to this peer, including the one that has just been opened.
A connection to the given peer has been opened.
ConnectionClosed
Fields
peer_id: PeerId
Identity of the peer that we have connected to.
endpoint: ConnectedPoint
Endpoint of the connection that has been closed.
num_established: u32
Number of other remaining connections to this same peer.
cause: Option<ConnectionError<NodeHandlerWrapperError<THandleErr>>>
Reason for the disconnection, if it was not a successful active close.
A connection with the given peer has been closed, possibly as a result of an error.
IncomingConnection
Fields
local_addr: Multiaddr
Local connection address.
This address has been earlier reported with a NewListenAddr
event.
send_back_addr: Multiaddr
Address used to send back data to the remote.
A new connection arrived on a listener and is in the process of protocol negotiation.
A corresponding ConnectionEstablished
,
BannedPeer
, or
IncomingConnectionError
event will later be
generated for this connection.
IncomingConnectionError
Fields
local_addr: Multiaddr
Local connection address.
This address has been earlier reported with a NewListenAddr
event.
send_back_addr: Multiaddr
Address used to send back data to the remote.
error: PendingConnectionError<Error>
The error that happened.
An error happened on a connection during its initial handshake.
This can include, for example, an error during the handshake of the encryption layer, or the connection unexpectedly closed.
BannedPeer
Fields
peer_id: PeerId
Identity of the banned peer.
endpoint: ConnectedPoint
Endpoint of the connection that has been closed.
We connected to a peer, but we immediately closed the connection because that peer is banned.
UnreachableAddr
Fields
peer_id: PeerId
PeerId
that we were trying to reach.
address: Multiaddr
Address that we failed to reach.
error: PendingConnectionError<Error>
Error that has been encountered.
attempts_remaining: u32
Number of remaining connection attempts that are being tried for this peer.
Tried to dial an address but it ended up being unreachaable.
UnknownPeerUnreachableAddr
Fields
address: Multiaddr
Address that we failed to reach.
error: PendingConnectionError<Error>
Error that has been encountered.
Tried to dial an address but it ended up being unreachaable.
Contrary to UnreachableAddr
, we don’t know the identity of the peer that we were trying
to reach.
NewListenAddr(Multiaddr)
One of our listeners has reported a new local listening address.
ExpiredListenAddr(Multiaddr)
One of our listeners has reported the expiration of a listening address.
ListenerClosed
Fields
addresses: Vec<Multiaddr>
The addresses that the listener was listening on. These addresses are now considered
expired, similar to if a ExpiredListenAddr
event
has been generated for each of them.
One of the listeners gracefully closed.
ListenerError
Fields
error: Error
The listener error.
One of the listeners reported a non-fatal error.
Dialing(PeerId)
A new dialing attempt has been initiated.
A ConnectionEstablished
event is reported if the dialing attempt succeeds, otherwise a
UnreachableAddr
event is reported
with attempts_remaining
equal to 0.
Trait Implementations
Auto Trait Implementations
impl<TBvEv, THandleErr> RefUnwindSafe for SwarmEvent<TBvEv, THandleErr> where
TBvEv: RefUnwindSafe,
THandleErr: RefUnwindSafe,
impl<TBvEv, THandleErr> Send for SwarmEvent<TBvEv, THandleErr> where
TBvEv: Send,
THandleErr: Send,
impl<TBvEv, THandleErr> Sync for SwarmEvent<TBvEv, THandleErr> where
TBvEv: Sync,
THandleErr: Sync,
impl<TBvEv, THandleErr> Unpin for SwarmEvent<TBvEv, THandleErr> where
TBvEv: Unpin,
THandleErr: Unpin,
impl<TBvEv, THandleErr> UnwindSafe for SwarmEvent<TBvEv, THandleErr> where
TBvEv: UnwindSafe,
THandleErr: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more