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,
pub if_lightclient_subscribed: bool,
}Expand description
Peer info
Fields§
§connected_addr: MultiaddrPeer 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: boolIndicates whether it is a probe connection of the fleer protocol
connected_time: InstantPeer connected time
session_id: SessionIdSession id
session_type: SessionTypeSession type, Inbound or Outbound
protocols: HashMap<ProtocolId, ProtocolVersion>Opened protocols on this session
is_whitelist: boolWhether a whitelist
if_lightclient_subscribed: boolWhether the remote peer is a light client, and it subscribes the chain state.
Implementations§
Source§impl Peer
impl Peer
Sourcepub fn new(
session_id: SessionId,
session_type: SessionType,
connected_addr: Multiaddr,
is_whitelist: bool,
) -> Self
pub fn new( session_id: SessionId, session_type: SessionType, connected_addr: Multiaddr, is_whitelist: bool, ) -> Self
Init session info
Sourcepub fn is_outbound(&self) -> bool
pub fn is_outbound(&self) -> bool
Whether outbound session
Sourcepub fn is_inbound(&self) -> bool
pub fn is_inbound(&self) -> bool
Whether inbound session
Sourcepub fn network_group(&self) -> Group
pub fn network_group(&self) -> Group
Get net group
Sourcepub fn protocol_version(
&self,
protocol_id: ProtocolId,
) -> Option<ProtocolVersion>
pub fn protocol_version( &self, protocol_id: ProtocolId, ) -> Option<ProtocolVersion>
Opened protocol version
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Peer
impl RefUnwindSafe for Peer
impl Send for Peer
impl Sync for Peer
impl Unpin for Peer
impl UnwindSafe for Peer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more