mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-03 00:31:50 +00:00
* Initial work on removing libp2p lock * Removes lock from libp2p service * Completed network lock removal * Correct network termination future * Correct fmt issues * Remove Drop implementation for network service * Address reviewers suggestions * Fix dht persistence test (#844) * Fix persistence test * Block until dht is persisted * Fix libp2p test * Correct test ordering check * Remove expensive tests from debug testing Co-authored-by: Pawan Dhananjay <pawandhananjay@gmail.com>
31 lines
1014 B
Rust
31 lines
1014 B
Rust
//! A collection of variables that are accessible outside of the network thread itself.
|
|
use crate::{Enr, Multiaddr, PeerId};
|
|
use parking_lot::RwLock;
|
|
use std::collections::HashSet;
|
|
use std::sync::atomic::AtomicUsize;
|
|
|
|
pub struct NetworkGlobals {
|
|
/// The current local ENR.
|
|
pub local_enr: RwLock<Option<Enr>>,
|
|
/// The local peer_id.
|
|
pub peer_id: RwLock<PeerId>,
|
|
/// Listening multiaddrs.
|
|
pub listen_multiaddrs: RwLock<Vec<Multiaddr>>,
|
|
/// Current number of connected libp2p peers.
|
|
pub connected_peers: AtomicUsize,
|
|
/// The collection of currently connected peers.
|
|
pub connected_peer_set: RwLock<HashSet<PeerId>>,
|
|
}
|
|
|
|
impl NetworkGlobals {
|
|
pub fn new(peer_id: PeerId) -> Self {
|
|
NetworkGlobals {
|
|
local_enr: RwLock::new(None),
|
|
peer_id: RwLock::new(peer_id),
|
|
listen_multiaddrs: RwLock::new(Vec::new()),
|
|
connected_peers: AtomicUsize::new(0),
|
|
connected_peer_set: RwLock::new(HashSet::new()),
|
|
}
|
|
}
|
|
}
|