Skip to main content

AddressBookPeers

Trait AddressBookPeers 

Source
pub trait AddressBookPeers {
    // Required methods
    fn recently_live_peers(&self, now: DateTime<Utc>) -> Vec<MetaAddr>;
    fn add_peer(&mut self, peer: PeerSocketAddr) -> bool;

    // Provided method
    fn misbehavior_score(&self, _addr: PeerSocketAddr) -> u32 { ... }
}
Expand description

Method signatures for getting MetaAddrs of recently live peers.

Required Methods§

Source

fn recently_live_peers(&self, now: DateTime<Utc>) -> Vec<MetaAddr>

Return an Vec of peers we’ve seen recently, in reconnection attempt order.

Source

fn add_peer(&mut self, peer: PeerSocketAddr) -> bool

Add a peer to the address book.

Provided Methods§

Source

fn misbehavior_score(&self, _addr: PeerSocketAddr) -> u32

Returns the misbehavior score for the peer group containing addr: MAX_PEER_MISBEHAVIOR_SCORE if the group is banned, and 0 otherwise.

Bans apply per peer group — one IPv4 address, or one IPv6 /64 subnet — so every address in a group reports the same score.

Defaults to 0 for implementers that don’t track misbehavior.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl AddressBookPeers for Arc<Mutex<AddressBook>>

Implementors§