zebra_rpc/methods/types/
peer_info.rs
1use zebra_network::{types::MetaAddr, PeerSocketAddr};
4
5#[derive(Clone, Debug, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
7pub struct PeerInfo {
8 pub addr: PeerSocketAddr,
10
11 pub inbound: bool,
13}
14
15impl PeerInfo {
16 pub fn new(meta_addr: MetaAddr) -> Self {
18 Self::from(meta_addr)
19 }
20}
21
22impl From<MetaAddr> for PeerInfo {
23 fn from(meta_addr: MetaAddr) -> Self {
24 Self {
25 addr: meta_addr.addr(),
26 inbound: meta_addr.is_inbound(),
27 }
28 }
29}
30
31impl Default for PeerInfo {
32 fn default() -> Self {
33 Self {
34 addr: PeerSocketAddr::unspecified(),
35 inbound: false,
36 }
37 }
38}