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)
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 going
through to_string().
The standard path is from_string(&addr.to_string()), which
allocates a String for the formatted address and then copies
its bytes into a fresh Vec<u8> — two heap allocations per
inbound packet on the UDP receive hot path. At line rate that’s
a few percent of one core in malloc/free. This variant writes
the SocketAddr::Display representation directly into a
Vec<u8> via std::io::Write, halving the alloc count and
skipping the intermediate String materialisation entirely.
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
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 Eq for TransportAddr
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