Type Alias Libp2pEvent

Source
pub type Libp2pEvent = SwarmEvent<Libp2pBehaviourEvent, THandlerErr<Libp2pBehaviour>>;

Aliased Type§

pub enum Libp2pEvent {
    Behaviour(Libp2pBehaviourEvent),
    ConnectionEstablished {
        peer_id: PeerId,
        connection_id: ConnectionId,
        endpoint: ConnectedPoint,
        num_established: NonZero<u32>,
        concurrent_dial_errors: Option<Vec<(Multiaddr, TransportError<Error>)>>,
        established_in: Duration,
    },
    ConnectionClosed {
        peer_id: PeerId,
        connection_id: ConnectionId,
        endpoint: ConnectedPoint,
        num_established: u32,
        cause: Option<ConnectionError<Either<Either<Either<Void, Error>, Error>, Error>>>,
    },
    IncomingConnection {
        connection_id: ConnectionId,
        local_addr: Multiaddr,
        send_back_addr: Multiaddr,
    },
    IncomingConnectionError {
        connection_id: ConnectionId,
        local_addr: Multiaddr,
        send_back_addr: Multiaddr,
        error: ListenError,
    },
    OutgoingConnectionError {
        connection_id: ConnectionId,
        peer_id: Option<PeerId>,
        error: DialError,
    },
    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 {
        peer_id: Option<PeerId>,
        connection_id: ConnectionId,
    },
}

Variants§

§

Behaviour(Libp2pBehaviourEvent)

Event generated by the NetworkBehaviour.

§

ConnectionEstablished

A connection to the given peer has been opened.

Fields

§peer_id: PeerId

Identity of the peer that we have connected to.

§connection_id: ConnectionId

Identifier of the connection.

§endpoint: ConnectedPoint

Endpoint of the connection that has been opened.

§num_established: NonZero<u32>

Number of established connections to this peer, including the one that has just been opened.

§concurrent_dial_errors: Option<Vec<(Multiaddr, TransportError<Error>)>>

[Some] when the new connection is an outgoing connection. Addresses are dialed concurrently. Contains the addresses and errors of dial attempts that failed before the one successful dial.

§established_in: Duration

How long it took to establish this connection

§

ConnectionClosed

A connection with the given peer has been closed, possibly as a result of an error.

Fields

§peer_id: PeerId

Identity of the peer that we have connected to.

§connection_id: ConnectionId

Identifier of the connection.

§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<Either<Either<Either<Void, Error>, Error>, Error>>>

Reason for the disconnection, if it was not a successful active close.

§

IncomingConnection

A new connection arrived on a listener and is in the process of protocol negotiation.

A corresponding ConnectionEstablished or IncomingConnectionError event will later be generated for this connection.

Fields

§connection_id: ConnectionId

Identifier of the connection.

§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.

§

IncomingConnectionError

An error happened on an inbound 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

§connection_id: ConnectionId

Identifier of the connection.

§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: ListenError

The error that happened.

§

OutgoingConnectionError

An error happened on an outbound connection.

Fields

§connection_id: ConnectionId

Identifier of the connection.

§peer_id: Option<PeerId>

If known, [PeerId] of the peer we tried to reach.

§error: DialError

Error that has been encountered.

§

NewListenAddr

One of our listeners has reported a new local listening address.

Fields

§listener_id: ListenerId

The listener that is listening on the new address.

§address: Multiaddr

The new address that is being listened on.

§

ExpiredListenAddr

One of our listeners has reported the expiration of a listening address.

Fields

§listener_id: ListenerId

The listener that is no longer listening on the address.

§address: Multiaddr

The expired address.

§

ListenerClosed

One of the listeners gracefully closed.

Fields

§listener_id: ListenerId

The 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.

§reason: Result<(), Error>

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

§

ListenerError

One of the listeners reported a non-fatal error.

Fields

§listener_id: ListenerId

The listener that errored.

§error: Error

The listener error.

§

Dialing

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.

Fields

§peer_id: Option<PeerId>

Identity of the peer that we are connecting to.

§connection_id: ConnectionId

Identifier of the connection.