cuprated/p2p/
network_address.rs
1use std::net::SocketAddr;
2
3use cuprate_p2p_core::{client::InternalPeerID, ClearNet, NetworkZone, Tor};
4use cuprate_wire::OnionAddr;
5
6#[derive(Debug, Clone, PartialEq, Eq, Hash)]
8pub enum CrossNetworkInternalPeerId {
9 ClearNet(InternalPeerID<<ClearNet as NetworkZone>::Addr>),
11 Tor(InternalPeerID<<Tor as NetworkZone>::Addr>),
13}
14
15impl From<InternalPeerID<SocketAddr>> for CrossNetworkInternalPeerId {
16 fn from(addr: InternalPeerID<SocketAddr>) -> Self {
17 Self::ClearNet(addr)
18 }
19}
20
21impl From<InternalPeerID<OnionAddr>> for CrossNetworkInternalPeerId {
22 fn from(addr: InternalPeerID<OnionAddr>) -> Self {
23 Self::Tor(addr)
24 }
25}