1use std::net::SocketAddr;
2use std::time::SystemTime;
3
4pub struct PeerAddr {
6 address: SocketAddr,
7
8 services: u32,
10 time: SystemTime,
12 key: IdentityKey,
13}
14
15pub struct IdentityKey([u8; 33]);
20
21pub enum Services {
22 Network,
23 Bloom,
24 FullNode,
25 RequiredServices,
26}
27
28const NETWORK: u64 = (1 << 0);
30const BLOOM: u64 = (1 << 1);
31const FULL_NODE: u64 = 0 | NETWORK | BLOOM;
33const REQUIRED_SERVICES: u64 = 0 | NETWORK | BLOOM;
34
35impl Services {
36 pub fn value(&self) -> u64 {
37 match *self {
38 Services::Network => NETWORK,
40 Services::Bloom => BLOOM,
42 Services::FullNode => FULL_NODE,
43 Services::RequiredServices => REQUIRED_SERVICES,
44 }
45 }
46}