[−][src]Struct grin_p2p::types::PeerInfo
General information about a connected peer that's useful to other modules.
Fields
capabilities: Capabilities
user_agent: String
version: ProtocolVersion
addr: PeerAddr
direction: Direction
live_info: Arc<RwLock<PeerLiveInfo>>
Implementations
impl PeerInfo
[src]
pub fn total_difficulty(&self) -> Difficulty
[src]
The current total_difficulty of the peer.
pub fn is_outbound(&self) -> bool
[src]
pub fn is_inbound(&self) -> bool
[src]
pub fn height(&self) -> u64
[src]
The current height of the peer.
pub fn last_seen(&self) -> DateTime<Utc>
[src]
Time of last_seen for this peer (via ping/pong).
pub fn first_seen(&self) -> DateTime<Utc>
[src]
Time of first_seen for this peer.
pub fn update(&self, height: u64, total_difficulty: Difficulty)
[src]
Update the total_difficulty, height and last_seen of the peer. Takes a write lock on the live_info.
Trait Implementations
impl Clone for PeerInfo
[src]
impl Debug for PeerInfo
[src]
impl From<PeerInfo> for PeerInfoDisplay
[src]
fn from(info: PeerInfo) -> PeerInfoDisplay
[src]
Auto Trait Implementations
impl !RefUnwindSafe for PeerInfo
impl Send for PeerInfo
impl Sync for PeerInfo
impl Unpin for PeerInfo
impl !UnwindSafe for PeerInfo
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CloneAny for T where
T: Clone + Any,
T: Clone + Any,
fn clone_any(&self) -> Box<dyn CloneAny + 'static>
fn clone_any_send(&self) -> Box<dyn CloneAny + 'static + Send> where
T: Send,
T: Send,
fn clone_any_sync(&self) -> Box<dyn CloneAny + 'static + Sync> where
T: Sync,
T: Sync,
fn clone_any_send_sync(&self) -> Box<dyn CloneAny + 'static + Send + Sync> where
T: Send + Sync,
T: Send + Sync,
impl<T> DebugAny for T where
T: Any + Debug,
T: Any + Debug,
impl<'a, T> DefaultFeatures<'a> for T where
T: 'a + Clone + Send + Sync,
T: 'a + Clone + Send + Sync,
fn clone_boxed(&self) -> Box<dyn DefaultFeatures<'a> + 'a>
fn self_address_mut(&mut self) -> *mut ()
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<'a, T> NonSyncFeatures<'a> for T where
T: 'a + Clone,
T: 'a + Clone,
fn clone_boxed(&self) -> Box<dyn NonSyncFeatures<'a> + 'a>
fn self_address_mut(&mut self) -> *mut ()
impl<T> SafeBorrow<T> for T where
T: ?Sized,
T: ?Sized,
fn borrow_replacement(ptr: &T) -> &T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> UnsafeAny for T where
T: Any,
T: Any,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,