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<<TTrans as Transport>::Error>,
},
ConnectionEstablished {
connection: EstablishedConnection<'a, TInEvent>,
num_established: NonZeroU32,
},
ConnectionClosed {
id: ConnectionId,
connected: Connected,
error: Option<ConnectionError<<<THandler as IntoConnectionHandler>::Handler as ConnectionHandler>::Error>>,
num_established: u32,
},
DialError {
attempts_remaining: u32,
peer_id: PeerId,
multiaddr: Multiaddr,
error: PendingConnectionError<<TTrans as Transport>::Error>,
},
UnknownPeerDialError {
multiaddr: Multiaddr,
error: PendingConnectionError<<TTrans as Transport>::Error>,
},
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
Fields
listener_id: ListenerId
The listener that errored.
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 as Transport>::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: PendingConnectionError<<TTrans as Transport>::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.
num_established: NonZeroU32
The total number of established connections to the same peer, including the one that has just been opened.
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 as IntoConnectionHandler>::Handler as ConnectionHandler>::Error>>
The error that occurred.
num_established: u32
The remaining number of established connections to the same peer.
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
attempts_remaining: u32
The number of remaining dialing attempts.
peer_id: PeerId
Id of the peer we were trying to dial.
multiaddr: Multiaddr
The multiaddr we failed to reach.
error: PendingConnectionError<<TTrans as Transport>::Error>
The error that happened.
A dialing attempt to an address of a peer failed.
UnknownPeerDialError
Fields
multiaddr: Multiaddr
The multiaddr we failed to reach.
error: PendingConnectionError<<TTrans as Transport>::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.
Trait Implementations
sourceimpl<'_, TTrans, TInEvent, TOutEvent, THandler> Debug for NetworkEvent<'_, TTrans, TInEvent, TOutEvent, THandler> where
TInEvent: Debug,
TOutEvent: Debug,
TTrans: Transport,
THandler: IntoConnectionHandler,
<TTrans as Transport>::Error: Debug,
<<THandler as IntoConnectionHandler>::Handler as ConnectionHandler>::Error: Debug,
impl<'_, TTrans, TInEvent, TOutEvent, THandler> Debug for NetworkEvent<'_, TTrans, TInEvent, TOutEvent, THandler> where
TInEvent: Debug,
TOutEvent: Debug,
TTrans: Transport,
THandler: IntoConnectionHandler,
<TTrans as Transport>::Error: Debug,
<<THandler as IntoConnectionHandler>::Handler as ConnectionHandler>::Error: Debug,
Auto Trait Implementations
impl<'a, TTrans, TInEvent, TOutEvent, THandler> !RefUnwindSafe for NetworkEvent<'a, TTrans, TInEvent, TOutEvent, THandler>
impl<'a, TTrans, TInEvent, TOutEvent, THandler> Send for NetworkEvent<'a, TTrans, TInEvent, TOutEvent, THandler> where
TInEvent: Send,
TOutEvent: Send,
<TTrans as Transport>::Error: Send,
<<THandler as IntoConnectionHandler>::Handler as ConnectionHandler>::Error: Send,
<TTrans as Transport>::ListenerUpgrade: Send,
impl<'a, TTrans, TInEvent, TOutEvent, THandler> Sync for NetworkEvent<'a, TTrans, TInEvent, TOutEvent, THandler> where
TInEvent: Send,
TOutEvent: Sync,
<TTrans as Transport>::Error: Sync,
<<THandler as IntoConnectionHandler>::Handler as ConnectionHandler>::Error: Sync,
<TTrans as Transport>::ListenerUpgrade: Sync,
impl<'a, TTrans, TInEvent, TOutEvent, THandler> Unpin for NetworkEvent<'a, TTrans, TInEvent, TOutEvent, THandler> where
TOutEvent: Unpin,
<TTrans as Transport>::Error: Unpin,
<<THandler as IntoConnectionHandler>::Handler as ConnectionHandler>::Error: Unpin,
<TTrans as Transport>::ListenerUpgrade: Unpin,
impl<'a, TTrans, TInEvent, TOutEvent, THandler> !UnwindSafe for NetworkEvent<'a, TTrans, TInEvent, TOutEvent, THandler>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more