pub struct PeerAddress {
pub transport: String,
pub addr: String,
pub priority: u8,
}Expand description
A transport-specific address for reaching a peer.
Each peer can have multiple addresses across different transports, allowing fallback if one transport is unavailable.
Fields§
§transport: StringTransport type (e.g., “udp”, “tor”, “ethernet”).
addr: StringTransport-specific address string.
Format depends on transport type:
- UDP/TCP: “host:port” — IP address or DNS hostname (e.g., “192.168.1.1:2121” or “peer1.example.com:2121”)
- Ethernet: “interface/mac” (e.g., “eth0/aa:bb:cc:dd:ee:ff”)
priority: u8Priority for address selection (lower = preferred). When multiple addresses are available, lower priority addresses are tried first.
Implementations§
Trait Implementations§
Source§impl Clone for PeerAddress
impl Clone for PeerAddress
Source§fn clone(&self) -> PeerAddress
fn clone(&self) -> PeerAddress
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PeerAddress
impl Debug for PeerAddress
Source§impl<'de> Deserialize<'de> for PeerAddress
impl<'de> Deserialize<'de> for PeerAddress
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PeerAddress
impl RefUnwindSafe for PeerAddress
impl Send for PeerAddress
impl Sync for PeerAddress
impl Unpin for PeerAddress
impl UnsafeUnpin for PeerAddress
impl UnwindSafe for PeerAddress
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more