pub trait PeerStoreProvider:
    Debug
    + Send
    + Sync {
    // Required methods
    fn is_banned(&self, peer_id: &PeerId) -> bool;
    fn register_protocol(&self, protocol_handle: Arc<dyn ProtocolHandle>);
    fn report_disconnect(&self, peer_id: PeerId);
    fn report_peer(&self, peer_id: PeerId, change: ReputationChange);
    fn set_peer_role(&self, peer_id: &PeerId, role: ObservedRole);
    fn peer_reputation(&self, peer_id: &PeerId) -> i32;
    fn peer_role(&self, peer_id: &PeerId) -> Option<ObservedRole>;
    fn outgoing_candidates(
        &self,
        count: usize,
        ignored: HashSet<PeerId>,
    ) -> Vec<PeerId>;
    fn add_known_peer(&self, peer_id: PeerId);
}Expand description
Trait providing peer reputation management and connection candidates.
Required Methods§
Sourcefn register_protocol(&self, protocol_handle: Arc<dyn ProtocolHandle>)
 
fn register_protocol(&self, protocol_handle: Arc<dyn ProtocolHandle>)
Register a protocol handle to disconnect peers whose reputation drops below the threshold.
Sourcefn report_disconnect(&self, peer_id: PeerId)
 
fn report_disconnect(&self, peer_id: PeerId)
Report peer disconnection for reputation adjustment.
Sourcefn report_peer(&self, peer_id: PeerId, change: ReputationChange)
 
fn report_peer(&self, peer_id: PeerId, change: ReputationChange)
Adjust peer reputation.
Sourcefn set_peer_role(&self, peer_id: &PeerId, role: ObservedRole)
 
fn set_peer_role(&self, peer_id: &PeerId, role: ObservedRole)
Set peer role.
Sourcefn peer_reputation(&self, peer_id: &PeerId) -> i32
 
fn peer_reputation(&self, peer_id: &PeerId) -> i32
Get peer reputation.
Sourcefn peer_role(&self, peer_id: &PeerId) -> Option<ObservedRole>
 
fn peer_role(&self, peer_id: &PeerId) -> Option<ObservedRole>
Get peer role, if available.
Sourcefn outgoing_candidates(
    &self,
    count: usize,
    ignored: HashSet<PeerId>,
) -> Vec<PeerId>
 
fn outgoing_candidates( &self, count: usize, ignored: HashSet<PeerId>, ) -> Vec<PeerId>
Get candidates with highest reputations for initiating outgoing connections.
Sourcefn add_known_peer(&self, peer_id: PeerId)
 
fn add_known_peer(&self, peer_id: PeerId)
Add known peer.