Struct ckb_network::peer_store::PeerStore
source · pub struct PeerStore { /* private fields */ }Expand description
Peer store
| – choose to identify –| — choose to feeler — | – delete – | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | More than seven days |
Implementations§
source§impl PeerStore
impl PeerStore
sourcepub fn new(addr_manager: AddrManager, ban_list: BanList) -> Self
pub fn new(addr_manager: AddrManager, ban_list: BanList) -> Self
New with address list and ban list
sourcepub fn add_connected_peer(&mut self, addr: Multiaddr, session_type: SessionType)
pub fn add_connected_peer(&mut self, addr: Multiaddr, session_type: SessionType)
this method will assume peer is connected, which implies address is “verified”.
sourcepub fn add_addr(&mut self, addr: Multiaddr, flags: Flags) -> Result<()>
pub fn add_addr(&mut self, addr: Multiaddr, flags: Flags) -> Result<()>
Add discovered peer address this method will assume peer and addr is untrust since we have not connected to it.
sourcepub fn add_outbound_addr(&mut self, addr: Multiaddr, flags: Flags)
pub fn add_outbound_addr(&mut self, addr: Multiaddr, flags: Flags)
Add outbound peer address
sourcepub fn update_outbound_addr_last_connected_ms(&mut self, addr: Multiaddr)
pub fn update_outbound_addr_last_connected_ms(&mut self, addr: Multiaddr)
Update outbound peer last connected ms
sourcepub fn addr_manager(&self) -> &AddrManager
pub fn addr_manager(&self) -> &AddrManager
Get address manager
sourcepub fn mut_addr_manager(&mut self) -> &mut AddrManager
pub fn mut_addr_manager(&mut self) -> &mut AddrManager
Get mut address manager
sourcepub fn report(&mut self, addr: &Multiaddr, behaviour: Behaviour) -> ReportResult
pub fn report(&mut self, addr: &Multiaddr, behaviour: Behaviour) -> ReportResult
Report peer behaviours
sourcepub fn remove_disconnected_peer(&mut self, addr: &Multiaddr) -> Option<PeerInfo>
pub fn remove_disconnected_peer(&mut self, addr: &Multiaddr) -> Option<PeerInfo>
Remove peer id
sourcepub fn peer_status(&self, peer_id: &PeerId) -> Status
pub fn peer_status(&self, peer_id: &PeerId) -> Status
Get peer status
sourcepub fn fetch_addrs_to_attempt(
&mut self,
count: usize,
required_flags: Flags
) -> Vec<AddrInfo> ⓘ
pub fn fetch_addrs_to_attempt( &mut self, count: usize, required_flags: Flags ) -> Vec<AddrInfo> ⓘ
Get peers for outbound connection, this method randomly return recently connected peer addrs
sourcepub fn fetch_addrs_to_feeler(&mut self, count: usize) -> Vec<AddrInfo> ⓘ
pub fn fetch_addrs_to_feeler(&mut self, count: usize) -> Vec<AddrInfo> ⓘ
Get peers for feeler connection, this method randomly return peer addrs that we never connected to.
sourcepub fn fetch_random_addrs(
&mut self,
count: usize,
required_flags: Flags
) -> Vec<AddrInfo> ⓘ
pub fn fetch_random_addrs( &mut self, count: usize, required_flags: Flags ) -> Vec<AddrInfo> ⓘ
Return valid addrs that success connected, used for discovery.
sourcepub fn is_addr_banned(&self, addr: &Multiaddr) -> bool
pub fn is_addr_banned(&self, addr: &Multiaddr) -> bool
Whether the address is banned
sourcepub fn mut_ban_list(&mut self) -> &mut BanList
pub fn mut_ban_list(&mut self) -> &mut BanList
Get mut ban list
sourcepub fn clear_ban_list(&mut self)
pub fn clear_ban_list(&mut self)
Clear ban list