pub enum SocketAddress {
Unspecified,
Unix(FsString),
Vsock {
port: u32,
cid: u32,
},
Inet(Vec<u8>),
Inet6(Vec<u8>),
Netlink(NetlinkAddress),
Packet(Vec<u8>),
Qipcrtr(Vec<u8>),
}Variants§
Unspecified
An address in the AF_UNSPEC domain.
Unix(FsString)
A Unix socket address contains the filesystem path that was used to bind the socket.
Vsock
An AF_VSOCK socket is referred to by its listening port and cid.
Inet(Vec<u8>)
AF_INET socket addresses are passed through as a sockaddr* to zxio.
Inet6(Vec<u8>)
AF_INET6 socket addresses are passed through as a sockaddr* to zxio.
Netlink(NetlinkAddress)
AF_NETLINK addresses contain a unicast pid and multicast groups.
Packet(Vec<u8>)
AF_PACKET socket addresses are passed through as a sockaddr* to zxio.
Qipcrtr(Vec<u8>)
AF_QIPCRTR socket addresses are passed through as a sockaddr* to zxio.
Implementations§
Source§impl SocketAddress
impl SocketAddress
pub fn default_for_domain(domain: SocketDomain) -> SocketAddress
pub fn from_bytes(address: Vec<u8>) -> Result<SocketAddress, Errno>
pub fn valid_for_domain(&self, domain: SocketDomain) -> bool
pub fn maybe_inet_port(&self) -> Option<u16>
pub fn to_bytes(&self) -> Vec<u8> ⓘ
pub fn is_abstract_unix(&self) -> bool
Trait Implementations§
Source§impl Clone for SocketAddress
impl Clone for SocketAddress
Source§fn clone(&self) -> SocketAddress
fn clone(&self) -> SocketAddress
Returns a duplicate of the value. Read more
1.0.0 · 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 SocketAddress
impl Debug for SocketAddress
Source§impl PartialEq for SocketAddress
impl PartialEq for SocketAddress
impl Eq for SocketAddress
impl StructuralPartialEq for SocketAddress
Auto Trait Implementations§
impl Freeze for SocketAddress
impl RefUnwindSafe for SocketAddress
impl Send for SocketAddress
impl Sync for SocketAddress
impl Unpin for SocketAddress
impl UnwindSafe for SocketAddress
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, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
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.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
Converts the given service transport handle of type
T to [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 moreSource§impl<T, U> MultiArchFrom<T> for Uwhere
U: From<T>,
impl<T, U> MultiArchFrom<T> for Uwhere
U: From<T>,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
type Error = <U as TryFromExt<T>>::Error
§fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
Tries to perform the conversion.