logo
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, Global>, 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, Global>

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.

reason: Result<(), Error>

Reason for the closure. Contains Ok(()) if the stream produced None, or Err if the stream produced an error.

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

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.