Enum libp2p_core::network::NetworkEvent
source · [−]pub enum NetworkEvent<'a, TTrans, TInEvent, TOutEvent, THandler> where
TTrans: Transport,
THandler: IntoConnectionHandler, {
ListenerClosed {
listener_id: ListenerId,
addresses: Vec<Multiaddr>,
reason: Result<(), TTrans::Error>,
},
ListenerError {
listener_id: ListenerId,
error: TTrans::Error,
},
NewListenerAddress {
listener_id: ListenerId,
listen_addr: Multiaddr,
},
ExpiredListenerAddress {
listener_id: ListenerId,
listen_addr: Multiaddr,
},
IncomingConnection {
listener_id: ListenerId,
connection: IncomingConnection<TTrans::ListenerUpgrade>,
},
IncomingConnectionError {
local_addr: Multiaddr,
send_back_addr: Multiaddr,
error: PendingInboundConnectionError<TTrans::Error>,
handler: THandler,
},
ConnectionEstablished {
connection: EstablishedConnection<'a, TInEvent>,
other_established_connection_ids: Vec<ConnectionId>,
concurrent_dial_errors: Option<Vec<(Multiaddr, TransportError<TTrans::Error>)>>,
},
ConnectionClosed {
id: ConnectionId,
connected: Connected,
error: Option<ConnectionError<<THandler::Handler as ConnectionHandler>::Error>>,
remaining_established_connection_ids: Vec<ConnectionId>,
handler: THandler::Handler,
},
DialError {
handler: THandler,
peer_id: PeerId,
error: PendingOutboundConnectionError<TTrans::Error>,
},
UnknownPeerDialError {
error: PendingOutboundConnectionError<TTrans::Error>,
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
ListenerClosed
Fields
listener_id: ListenerId
The listener ID that closed.
One of the listeners gracefully closed.
ListenerError
One of the listeners reported a non-fatal error.
NewListenerAddress
Fields
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 now listening on an additional address.
ExpiredListenerAddress
Fields
listener_id: ListenerId
The listener that is no longer listening on some address.
listen_addr: Multiaddr
The expired address.
One of the listeners is no longer listening on some address.
IncomingConnection
Fields
listener_id: ListenerId
The listener who received the connection.
connection: IncomingConnection<TTrans::ListenerUpgrade>
The pending incoming connection.
A new connection arrived on a listener.
To accept the connection, see Network::accept
.
IncomingConnectionError
Fields
local_addr: Multiaddr
Local connection address.
send_back_addr: Multiaddr
Address used to send back data to the remote.
error: PendingInboundConnectionError<TTrans::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.
ConnectionEstablished
Fields
connection: EstablishedConnection<'a, TInEvent>
The newly established connection.
other_established_connection_ids: Vec<ConnectionId>
List of other connections to the same peer.
Note: Does not include the connection reported through this event.
A new connection to a peer has been established.
ConnectionClosed
Fields
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::Handler as ConnectionHandler>::Error>>
The error that occurred.
remaining_established_connection_ids: Vec<ConnectionId>
List of remaining established connections to the same peer.
handler: THandler::Handler
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
.
DialError
Fields
peer_id: PeerId
Id of the peer we were trying to dial.
error: PendingOutboundConnectionError<TTrans::Error>
The error that happened.
A dialing attempt to an address of a peer failed.
UnknownPeerDialError
Fields
error: PendingOutboundConnectionError<TTrans::Error>
The error that happened.
Failed to reach a peer that we were trying to dial.
ConnectionEvent
Fields
connection: EstablishedConnection<'a, TInEvent>
The connection on which the event occurred.
An established connection produced an event.
AddressChange
Fields
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.
An established connection has changed its address.