1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
crate::ix!();

pub trait GetPeerRef {
    fn get_peer_ref(&self, id: NodeId) -> Amo<Peer>;
}

impl GetPeerRef for PeerManager {

    /**
      | Get a shared pointer to the Peer object.
      | 
      | May return an empty shared_ptr if the
      | Peer object can't be found.
      |
      */
    fn get_peer_ref(&self, id: NodeId) -> Amo<Peer> {
        
        match self.peer_map.get().get(&id) {
            Some(maybe_peer) => maybe_peer.clone(),
            None             => amo_none(),
        }
    }
}