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
A connection to the given peer has been opened.
Fields
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.
ConnectionClosed
A connection with the given peer has been closed, possibly as a result of an error.
Fields
endpoint: ConnectedPoint
Endpoint of the connection that has been closed.
cause: Option<ConnectionError<NodeHandlerWrapperError<THandleErr>>>
Reason for the disconnection, if it was not a successful active close.
IncomingConnection
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.
Fields
local_addr: Multiaddr
Local connection address.
This address has been earlier reported with a NewListenAddr
event.
IncomingConnectionError
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.
Fields
local_addr: Multiaddr
Local connection address.
This address has been earlier reported with a NewListenAddr
event.
error: PendingConnectionError<Error>
The error that happened.
BannedPeer
We connected to a peer, but we immediately closed the connection because that peer is banned.
Fields
endpoint: ConnectedPoint
Endpoint of the connection that has been closed.
UnreachableAddr
Tried to dial an address but it ended up being unreachaable.
Fields
error: PendingConnectionError<Error>
Error that has been encountered.
UnknownPeerUnreachableAddr
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.
Fields
error: PendingConnectionError<Error>
Error that has been encountered.
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
One of the listeners gracefully closed.
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.
ListenerError
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> Freeze for SwarmEvent<TBvEv, THandleErr>
impl<TBvEv, THandleErr> !RefUnwindSafe for SwarmEvent<TBvEv, THandleErr>
impl<TBvEv, THandleErr> Send for SwarmEvent<TBvEv, THandleErr>
impl<TBvEv, THandleErr> Sync for SwarmEvent<TBvEv, THandleErr>
impl<TBvEv, THandleErr> Unpin for SwarmEvent<TBvEv, THandleErr>
impl<TBvEv, THandleErr> !UnwindSafe for SwarmEvent<TBvEv, THandleErr>
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more