Struct LocalPeerView

Source
pub struct LocalPeerView {
Show 13 fields pub(crate) message_times: Ema, pub(crate) state: PeerStatus, pub(crate) address_id: u32, pub(crate) channel: UnboundedSender<NodeRequest>, pub(crate) services: ServiceFlags, pub(crate) user_agent: String, pub(crate) address: IpAddr, pub(crate) port: u16, pub(crate) _last_message: Instant, pub(crate) kind: ConnectionKind, pub(crate) height: u32, pub(crate) banscore: u32, pub(crate) transport_protocol: TransportProtocol,
}
Expand description

Local information kept about each peer

Fields§

§message_times: Ema

Average message times from this peer

This is measured in milliseconds, and it’s recorded every time we get a response from a peer

§state: PeerStatus

The state in which this peer is, e.g., awaiting handshake, ready, banned, etc.

§address_id: u32

An id identifying this peer’s address in our address manager

§channel: UnboundedSender<NodeRequest>

A channel used to send requests to this peer

§services: ServiceFlags

Services this peer claims to support

§user_agent: String

A version string that identifies which software this peer is running

§address: IpAddr

This peer’s IP address

§port: u16

The port we used to connect to this peer

§_last_message: Instant

The last time we received a message from this peer

§kind: ConnectionKind

The kind of connection we have with this peer

We use different connections with different goals, e.g., feeler connections, regular connections, extra connections to find about new tips, etc.

§height: u32

The latest height this peer has announced to us

§banscore: u32

The banscore of this peer

This is a score kept for each peer, every time this peer misbehaves, we increase this score. If the score reaches a certain threshold, we ban the peer.

§transport_protocol: TransportProtocol

The transport protocol this peer is using (v1 or v2)

Implementations§

Source§

impl LocalPeerView

Source

pub(crate) const fn is_manual_peer(&self) -> bool

Whether this is a manually added peer

Source

pub(crate) const fn is_regular_peer(&self) -> bool

Whether this is a regular peer

Source

pub(crate) const fn is_long_lived(&self) -> bool

Trait Implementations§

Source§

impl Clone for LocalPeerView

Source§

fn clone(&self) -> LocalPeerView

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LocalPeerView

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more