pub struct TransportAddr(/* private fields */);Expand description
Opaque transport-specific address.
Each transport type interprets this differently:
- UDP/TCP: “host:port” (IP address or DNS hostname)
- Ethernet: MAC address (6 bytes)
The bytes are immutable and shared so hot-path clones can carry path evidence through receive/session bookkeeping without copying address bytes.
Implementations§
Source§impl TransportAddr
impl TransportAddr
Sourcepub fn from_bytes(bytes: &[u8]) -> Self
pub fn from_bytes(bytes: &[u8]) -> Self
Create a transport address from a byte slice.
Sourcepub fn from_string(s: &str) -> Self
pub fn from_string(s: &str) -> Self
Create a transport address from a string.
Sourcepub fn from_socket_addr(addr: SocketAddr) -> Self
pub fn from_socket_addr(addr: SocketAddr) -> Self
Create a transport address from a SocketAddr without libc
address formatting. UDP receive caches this per peer, but cache
misses still sit on the hot task, so keep the common IPv4 path
as plain decimal byte writes.
Trait Implementations§
Source§impl Clone for TransportAddr
impl Clone for TransportAddr
Source§fn clone(&self) -> TransportAddr
fn clone(&self) -> TransportAddr
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 TransportAddr
impl Debug for TransportAddr
Source§impl Display for TransportAddr
impl Display for TransportAddr
impl Eq for TransportAddr
Source§impl From<&str> for TransportAddr
impl From<&str> for TransportAddr
Source§impl From<String> for TransportAddr
impl From<String> for TransportAddr
Source§impl Hash for TransportAddr
impl Hash for TransportAddr
Source§impl PartialEq for TransportAddr
impl PartialEq for TransportAddr
Source§fn eq(&self, other: &TransportAddr) -> bool
fn eq(&self, other: &TransportAddr) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for TransportAddr
Auto Trait Implementations§
impl Freeze for TransportAddr
impl RefUnwindSafe for TransportAddr
impl Send for TransportAddr
impl Sync for TransportAddr
impl Unpin for TransportAddr
impl UnsafeUnpin for TransportAddr
impl UnwindSafe for TransportAddr
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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