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: ConnectedPointEndpoint of the connection that has been opened.
num_established: NonZeroU32Number 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: ConnectedPointEndpoint 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: MultiaddrLocal 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: MultiaddrLocal 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: ConnectedPointEndpoint 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