[][src]Enum libp2p_core::network::peer::Peer

pub enum Peer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> where
    TTrans: Transport,
    THandler: IntoConnectionHandler<TConnInfo>, 
{ Connected(ConnectedPeer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>), Dialing(DialingPeer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>), Disconnected(DisconnectedPeer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>), Local, }

The possible representations of a peer in a Network, as seen by the local node.

Variants

Connected(ConnectedPeer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>)

At least one established connection exists to the peer.

Dialing(DialingPeer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>)

There is an ongoing dialing (i.e. outgoing connection) attempt to the peer. There may already be other established connections to the peer.

Disconnected(DisconnectedPeer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>)

There exists no established connection to the peer and there is currently no ongoing dialing (i.e. outgoing connection) attempt in progress.

Note: In this state there may always be a pending incoming connection attempt from the peer, however, the remote identity of a peer is only known once a connection is fully established.

Local

The peer represents the local node.

Methods

impl<'a, TTrans, TMuxer, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> Peer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> where
    TTrans: Transport<Output = (TConnInfo, TMuxer)> + Clone,
    TTrans::Error: Send + 'static,
    TTrans::Dial: Send + 'static,
    TMuxer: StreamMuxer + Send + Sync + 'static,
    TMuxer::OutboundSubstream: Send,
    TMuxer::Substream: Send,
    TInEvent: Send + 'static,
    TOutEvent: Send + 'static,
    THandler: IntoConnectionHandler<TConnInfo> + Send + 'static,
    THandler::Handler: ConnectionHandler<Substream = Substream<TMuxer>, InEvent = TInEvent, OutEvent = TOutEvent> + Send + 'static,
    <THandler::Handler as ConnectionHandler>::OutboundOpenInfo: Send + 'static,
    <THandler::Handler as ConnectionHandler>::Error: Error + Send + 'static,
    TConnInfo: Debug + ConnectionInfo<PeerId = TPeerId> + Send + 'static,
    TPeerId: Eq + Hash + Clone + Send + 'static, 
[src]

pub fn is_connected(&self) -> bool[src]

Checks whether the peer is currently connected.

Returns true iff Peer::into_connected returns Some.

pub fn is_dialing(&self) -> bool[src]

Checks whether the peer is currently being dialed.

Returns true iff Peer::into_dialing returns Some.

pub fn is_disconnected(&self) -> bool[src]

Checks whether the peer is currently disconnected.

Returns true iff Peer::into_disconnected returns Some.

pub fn into_connected(
    self
) -> Option<ConnectedPeer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>>
[src]

Converts the peer into a ConnectedPeer, if there an established connection exists.

pub fn into_dialing(
    self
) -> Option<DialingPeer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>>
[src]

Converts the peer into a DialingPeer, if a dialing attempt exists.

pub fn into_disconnected(
    self
) -> Option<DisconnectedPeer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>>
[src]

Converts the peer into a DisconnectedPeer, if neither an established connection nor a dialing attempt exists.

Trait Implementations

impl<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> Debug for Peer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> where
    TTrans: Transport,
    THandler: IntoConnectionHandler<TConnInfo>,
    TConnInfo: Debug + ConnectionInfo<PeerId = TPeerId>,
    TPeerId: Debug + Eq + Hash
[src]

Auto Trait Implementations

impl<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> !RefUnwindSafe for Peer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>

impl<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> Send for Peer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> where
    TConnInfo: Send,
    THandler: Send,
    TInEvent: Send,
    TOutEvent: Send,
    TPeerId: Send,
    TTrans: Send,
    <TTrans as Transport>::Error: Send,
    <<THandler as IntoConnectionHandler<TConnInfo>>::Handler as ConnectionHandler>::Error: Send,
    <THandler as IntoConnectionHandler<TConnInfo>>::Handler: ConnectionHandler,
    <TTrans as Transport>::Listener: Send

impl<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> !Sync for Peer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>

impl<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> Unpin for Peer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> where
    TPeerId: Unpin

impl<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId> !UnwindSafe for Peer<'a, TTrans, TInEvent, TOutEvent, THandler, TConnInfo, TPeerId>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,