#[non_exhaustive]pub enum IpcAddr<P, A> {
Unix(UnixAddr<P>),
Abstract(AbstractAddr<A>),
Vsock(VsockAddr),
}Expand description
A non-IP communication address.
Path-backed transports use P, and byte-backed transports use A. The
type intentionally does not contain HostAddr or core::net::SocketAddr.
Enum variants store their payloads by value, so DST storage is represented
through sized references such as IpcAddr<&Path, &[u8]>.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Unix(UnixAddr<P>)
Available on Unix only.
A Unix-domain socket pathname.
Abstract(AbstractAddr<A>)
Available on Linux only.
A Linux abstract socket name, without the leading NUL byte.
Vsock(VsockAddr)
Available on Linux and crate feature
vsock only.A VM socket address.
Trait Implementations§
impl<P: Copy, A: Copy> Copy for IpcAddr<P, A>
Source§impl<'de, P, A> Deserialize<'de> for IpcAddr<P, A>where
P: Deserialize<'de>,
A: Deserialize<'de>,
Available on crate feature serde only.
impl<'de, P, A> Deserialize<'de> for IpcAddr<P, A>where
P: Deserialize<'de>,
A: Deserialize<'de>,
Available on crate feature
serde only.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
impl<P: Eq, A: Eq> Eq for IpcAddr<P, A>
Source§impl<P, A> From<AbstractAddr<A>> for IpcAddr<P, A>
Available on Linux only.
impl<P, A> From<AbstractAddr<A>> for IpcAddr<P, A>
Available on Linux only.
Source§fn from(value: AbstractAddr<A>) -> Self
fn from(value: AbstractAddr<A>) -> Self
Converts to this type from the input type.
Source§impl<P: Ord, A: Ord> Ord for IpcAddr<P, A>
impl<P: Ord, A: Ord> Ord for IpcAddr<P, A>
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<P: PartialEq, A: PartialEq> PartialEq for IpcAddr<P, A>
impl<P: PartialEq, A: PartialEq> PartialEq for IpcAddr<P, A>
Source§impl<P: PartialOrd, A: PartialOrd> PartialOrd for IpcAddr<P, A>
impl<P: PartialOrd, A: PartialOrd> PartialOrd for IpcAddr<P, A>
impl<P: PartialEq, A: PartialEq> StructuralPartialEq for IpcAddr<P, A>
Auto Trait Implementations§
impl<P, A> Freeze for IpcAddr<P, A>
impl<P, A> RefUnwindSafe for IpcAddr<P, A>where
P: RefUnwindSafe,
A: RefUnwindSafe,
impl<P, A> Send for IpcAddr<P, A>
impl<P, A> Sync for IpcAddr<P, A>
impl<P, A> Unpin for IpcAddr<P, A>
impl<P, A> UnsafeUnpin for IpcAddr<P, A>where
P: UnsafeUnpin,
A: UnsafeUnpin,
impl<P, A> UnwindSafe for IpcAddr<P, A>where
P: UnwindSafe,
A: UnwindSafe,
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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