scatter_net/legacy/net/methods/
get_state.rs1use anyhow::Result;
2
3use crate::{NetState, Peer, PeerState, ScatterNet};
4
5impl ScatterNet {
6 #[allow(clippy::significant_drop_tightening)]
7 pub fn get_state(&self) -> Result<NetState> {
8 let peers: Vec<Peer> = self.read().peers.values().cloned().collect();
9
10 let peers: Vec<PeerState> = peers.iter().map(Peer::get_state).collect();
11
12 let mut guard = self.write();
13 let state = &mut guard.state;
14
15 state.peers = peers;
16
17 Ok(state.clone())
18 }
19}