Enum libp2p::core::network::NetworkEvent [−][src]
pub enum NetworkEvent<'a, TTrans, TInEvent, TOutEvent, THandler> where
TTrans: Transport,
THandler: IntoConnectionHandler, {
ListenerClosed {
listener_id: ListenerId,
addresses: Vec<Multiaddr, Global>,
reason: Result<(), <TTrans as Transport>::Error>,
},
ListenerError {
listener_id: ListenerId,
error: <TTrans as Transport>::Error,
},
NewListenerAddress {
listener_id: ListenerId,
listen_addr: Multiaddr,
},
ExpiredListenerAddress {
listener_id: ListenerId,
listen_addr: Multiaddr,
},
IncomingConnection {
listener_id: ListenerId,
connection: IncomingConnection<<TTrans as Transport>::ListenerUpgrade>,
},
IncomingConnectionError {
local_addr: Multiaddr,
send_back_addr: Multiaddr,
error: PendingConnectionError<TransportError<<TTrans as Transport>::Error>>,
handler: THandler,
},
ConnectionEstablished {
connection: EstablishedConnection<'a, TInEvent>,
num_established: NonZeroU32,
concurrent_dial_errors: Option<Vec<(Multiaddr, TransportError<<TTrans as Transport>::Error>), Global>>,
},
ConnectionClosed {
id: ConnectionId,
connected: Connected,
error: Option<ConnectionError<<<THandler as IntoConnectionHandler>::Handler as ConnectionHandler>::Error>>,
num_established: u32,
handler: <THandler as IntoConnectionHandler>::Handler,
},
DialError {
handler: THandler,
peer_id: PeerId,
error: PendingConnectionError<Vec<(Multiaddr, TransportError<<TTrans as Transport>::Error>), Global>>,
},
UnknownPeerDialError {
error: PendingConnectionError<Vec<(Multiaddr, TransportError<<TTrans as Transport>::Error>), Global>>,
handler: THandler,
},
ConnectionEvent {
connection: EstablishedConnection<'a, TInEvent>,
event: TOutEvent,
},
AddressChange {
connection: EstablishedConnection<'a, TInEvent>,
new_endpoint: ConnectedPoint,
old_endpoint: ConnectedPoint,
},
}
Expand description
Event that can happen on the Network
.
Variants
One of the listeners gracefully closed.
Fields of ListenerClosed
One of the listeners reported a non-fatal error.
Fields of ListenerError
listener_id: ListenerId
The listener that errored.
error: <TTrans as Transport>::Error
The listener error.
One of the listeners is now listening on an additional address.
Fields of NewListenerAddress
listener_id: ListenerId
The listener that is listening on the new address.
listen_addr: Multiaddr
The new address the listener is now also listening on.
One of the listeners is no longer listening on some address.
Fields of ExpiredListenerAddress
listener_id: ListenerId
The listener that is no longer listening on some address.
listen_addr: Multiaddr
The expired address.
A new connection arrived on a listener.
To accept the connection, see Network::accept
.
Fields of IncomingConnection
listener_id: ListenerId
The listener who received the connection.
connection: IncomingConnection<<TTrans as Transport>::ListenerUpgrade>
The pending incoming connection.
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 of IncomingConnectionError
local_addr: Multiaddr
Local connection address.
send_back_addr: Multiaddr
Address used to send back data to the remote.
error: PendingConnectionError<TransportError<<TTrans as Transport>::Error>>
The error that happened.
handler: THandler
A new connection to a peer has been established.
Fields of ConnectionEstablished
connection: EstablishedConnection<'a, TInEvent>
The newly established connection.
num_established: NonZeroU32
The total number of established connections to the same peer, including the one that has just been opened.
concurrent_dial_errors: Option<Vec<(Multiaddr, TransportError<<TTrans as Transport>::Error>), Global>>
Some
when the new connection is an outgoing connection.
Addresses are dialed in parallel. Contains the addresses and errors
of dial attempts that failed before the one successful dial.
An established connection to a peer has been closed.
A connection may close if
- it encounters an error, which includes the connection being
closed by the remote. In this case
error
isSome
. - it was actively closed by
EstablishedConnection::start_close
, i.e. a successful, orderly close. In this caseerror
isNone
. - it was actively closed by
super::peer::ConnectedPeer::disconnect
orsuper::peer::DialingPeer::disconnect
, i.e. dropped without an orderly close. In this caseerror
isNone
.
Fields of ConnectionClosed
id: ConnectionId
The ID of the connection that encountered an error.
connected: Connected
Information about the connection that encountered the error.
error: Option<ConnectionError<<<THandler as IntoConnectionHandler>::Handler as ConnectionHandler>::Error>>
The error that occurred.
num_established: u32
The remaining number of established connections to the same peer.
handler: <THandler as IntoConnectionHandler>::Handler
A dialing attempt to an address of a peer failed.
Fields of DialError
handler: THandler
The number of remaining dialing attempts.
peer_id: PeerId
Id of the peer we were trying to dial.
error: PendingConnectionError<Vec<(Multiaddr, TransportError<<TTrans as Transport>::Error>), Global>>
The error that happened.
Failed to reach a peer that we were trying to dial.
Fields of UnknownPeerDialError
error: PendingConnectionError<Vec<(Multiaddr, TransportError<<TTrans as Transport>::Error>), Global>>
The error that happened.
handler: THandler
An established connection produced an event.
Fields of ConnectionEvent
connection: EstablishedConnection<'a, TInEvent>
The connection on which the event occurred.
event: TOutEvent
Event that was produced by the node.
An established connection has changed its address.
Fields of AddressChange
connection: EstablishedConnection<'a, TInEvent>
The connection whose address has changed.
new_endpoint: ConnectedPoint
New endpoint of this connection.
old_endpoint: ConnectedPoint
Old endpoint of this connection.