use crate::peer_registry::MAX_OUTBOUND_BLOCK_RELAY;
use p2p::multiaddr::Multiaddr;
use std::collections::HashSet;
#[derive(Default)]
pub struct Anchors {
addrs: HashSet<Multiaddr>,
}
impl Anchors {
pub fn add(&mut self, addr: Multiaddr) {
self.addrs.insert(addr);
}
pub fn count(&self) -> usize {
self.addrs.len()
}
pub fn dump_iter(&self) -> impl Iterator<Item = &Multiaddr> {
self.addrs.iter().take(MAX_OUTBOUND_BLOCK_RELAY as usize)
}
pub fn drain(&mut self) -> impl Iterator<Item = Multiaddr> {
self.addrs.drain()
}
pub fn contains(&self, addr: &Multiaddr) -> bool {
self.addrs.contains(addr)
}
}