Struct ckb_network::Peer[][src]

pub struct Peer {
    pub connected_addr: Multiaddr,
    pub listened_addrs: Vec<Multiaddr>,
    pub identify_info: Option<PeerIdentifyInfo>,
    pub last_ping_protocol_message_received_at: Option<Instant>,
    pub ping_rtt: Option<Duration>,
    pub is_feeler: bool,
    pub connected_time: Instant,
    pub session_id: SessionId,
    pub session_type: SessionType,
    pub protocols: HashMap<ProtocolId, ProtocolVersion>,
    pub is_whitelist: bool,
}
Expand description

Peer info

Fields

connected_addr: Multiaddr

Peer address

listened_addrs: Vec<Multiaddr>

Peer listen addresses

identify_info: Option<PeerIdentifyInfo>

Peer info from identify protocol message

last_ping_protocol_message_received_at: Option<Instant>

Ping/Pong message last received time

ping_rtt: Option<Duration>

ping pong rtt

is_feeler: bool

Indicates whether it is a probe connection of the fleer protocol

connected_time: Instant

Peer connected time

session_id: SessionId

Session id

session_type: SessionType

Session type, Inbound or Outbound

protocols: HashMap<ProtocolId, ProtocolVersion>

Opened protocols on this session

is_whitelist: bool

Whether a whitelist

Implementations

impl Peer[src]

pub fn new(
    session_id: SessionId,
    session_type: SessionType,
    connected_addr: Multiaddr,
    is_whitelist: bool
) -> Self
[src]

Init session info

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

Whether outbound session

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

Whether inbound session

pub fn network_group(&self) -> Group[src]

Get net group

pub fn protocol_version(
    &self,
    protocol_id: ProtocolId
) -> Option<ProtocolVersion>
[src]

Opened protocol version

Trait Implementations

impl Clone for Peer[src]

fn clone(&self) -> Peer[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Peer[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl RefUnwindSafe for Peer

impl Send for Peer

impl Sync for Peer

impl Unpin for Peer

impl UnwindSafe for Peer

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> AsAny for T where
    T: Any

pub fn as_any(&self) -> &(dyn Any + 'static)

TODO(doc): @quake

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

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

pub fn vzip(self) -> V

impl<T> Erased for T