pub trait PeerStoreProvider: Debug + Send {
    // Required methods
    fn is_banned(&self, peer_id: &PeerId) -> bool;
    fn register_protocol(&self, protocol_handle: ProtocolHandle);
    fn report_disconnect(&mut self, peer_id: PeerId);
    fn report_peer(&mut self, peer_id: PeerId, change: ReputationChange);
    fn peer_reputation(&self, peer_id: &PeerId) -> i32;
    fn outgoing_candidates(
        &self,
        count: usize,
        ignored: HashSet<&PeerId>
    ) -> Vec<PeerId>;
}
Expand description

Trait providing peer reputation management and connection candidates.

Required Methods§

source

fn is_banned(&self, peer_id: &PeerId) -> bool

Check whether the peer is banned.

source

fn register_protocol(&self, protocol_handle: ProtocolHandle)

Register a protocol handle to disconnect peers whose reputation drops below the threshold.

source

fn report_disconnect(&mut self, peer_id: PeerId)

Report peer disconnection for reputation adjustment.

source

fn report_peer(&mut self, peer_id: PeerId, change: ReputationChange)

Adjust peer reputation.

source

fn peer_reputation(&self, peer_id: &PeerId) -> i32

Get peer reputation.

source

fn outgoing_candidates( &self, count: usize, ignored: HashSet<&PeerId> ) -> Vec<PeerId>

Get candidates with highest reputations for initiating outgoing connections.

Implementors§