Enum libp2p_swarm::SwarmEvent
source · [−]pub enum SwarmEvent<TBehaviourOutEvent, THandlerErr> {
Behaviour(TBehaviourOutEvent),
ConnectionEstablished {
peer_id: PeerId,
endpoint: ConnectedPoint,
num_established: NonZeroU32,
concurrent_dial_errors: Option<Vec<(Multiaddr, TransportError<Error>)>>,
},
ConnectionClosed {
peer_id: PeerId,
endpoint: ConnectedPoint,
num_established: u32,
cause: Option<ConnectionError<THandlerErr>>,
},
IncomingConnection {
local_addr: Multiaddr,
send_back_addr: Multiaddr,
},
IncomingConnectionError {
local_addr: Multiaddr,
send_back_addr: Multiaddr,
error: PendingInboundConnectionError<Error>,
},
OutgoingConnectionError {
peer_id: Option<PeerId>,
error: DialError,
},
BannedPeer {
peer_id: PeerId,
endpoint: ConnectedPoint,
},
NewListenAddr {
listener_id: ListenerId,
address: Multiaddr,
},
ExpiredListenAddr {
listener_id: ListenerId,
address: Multiaddr,
},
ListenerClosed {
listener_id: ListenerId,
addresses: Vec<Multiaddr>,
reason: Result<(), Error>,
},
ListenerError {
listener_id: ListenerId,
error: Error,
},
Dialing(PeerId),
}Expand description
Event generated by the Swarm.
Variants
Behaviour(TBehaviourOutEvent)
Event generated by the NetworkBehaviour.
ConnectionEstablished
Fields
peer_id: PeerIdIdentity of the peer that we have connected to.
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.
A connection to the given peer has been opened.
ConnectionClosed
Fields
peer_id: PeerIdIdentity of the peer that we have connected to.
endpoint: ConnectedPointEndpoint of the connection that has been closed.
num_established: u32Number of other remaining connections to this same peer.
cause: Option<ConnectionError<THandlerErr>>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: MultiaddrLocal connection address.
This address has been earlier reported with a NewListenAddr
event.
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: MultiaddrLocal connection address.
This address has been earlier reported with a NewListenAddr
event.
error: PendingInboundConnectionError<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.
OutgoingConnectionError
Fields
error: DialErrorError that has been encountered.
Outgoing connection attempt failed.
BannedPeer
Fields
peer_id: PeerIdIdentity of the banned peer.
endpoint: ConnectedPointEndpoint of the connection that has been closed.
We connected to a peer, but we immediately closed the connection because that peer is banned.
NewListenAddr
Fields
listener_id: ListenerIdThe listener that is listening on the new address.
One of our listeners has reported a new local listening address.
ExpiredListenAddr
Fields
listener_id: ListenerIdThe listener that is no longer listening on the address.
One of our listeners has reported the expiration of a listening address.
ListenerClosed
Fields
listener_id: ListenerIdThe listener that closed.
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
One of the listeners reported a non-fatal error.
Dialing(PeerId)
A new dialing attempt has been initiated by the NetworkBehaviour
implementation.
A ConnectionEstablished event is
reported if the dialing attempt succeeds, otherwise a
OutgoingConnectionError event
is reported.
Trait Implementations
Auto Trait Implementations
impl<TBehaviourOutEvent, THandlerErr> !RefUnwindSafe for SwarmEvent<TBehaviourOutEvent, THandlerErr>
impl<TBehaviourOutEvent, THandlerErr> Send for SwarmEvent<TBehaviourOutEvent, THandlerErr> where
TBehaviourOutEvent: Send,
THandlerErr: Send,
impl<TBehaviourOutEvent, THandlerErr> Sync for SwarmEvent<TBehaviourOutEvent, THandlerErr> where
TBehaviourOutEvent: Sync,
THandlerErr: Sync,
impl<TBehaviourOutEvent, THandlerErr> Unpin for SwarmEvent<TBehaviourOutEvent, THandlerErr> where
TBehaviourOutEvent: Unpin,
THandlerErr: Unpin,
impl<TBehaviourOutEvent, THandlerErr> !UnwindSafe for SwarmEvent<TBehaviourOutEvent, THandlerErr>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more