[][src]Enum interprocess::local_socket::NameTypeSupport

pub enum NameTypeSupport {
    OnlyPaths,
    OnlyNamespaced,
    Both,
}

Represents which kinds of identifiers can be used for a local socket's name on the current platform.

Variants

OnlyPaths

Only filesystem paths can be used.

This is true for all Unix/POSIX and Unix-like systems other than Linux.

OnlyNamespaced

Only names in an dedicated namespace can be used.

This is true only for Windows.

Both

Both of the above options are available.

This is true only for Linux.

Implementations

impl NameTypeSupport[src]

pub const ALWAYS_AVAILABLE: Self[src]

The types of local socket names supported on the current platform regardless of the environment and OS version.

On most platforms, the value is known at compile time, i.e. the support for paths wasn't introduced in a specific version of the OS or isn't known to be supported at all. Currently, this includes all supported OSes. If support is added for an OS which added this functionality in a specific version, this constant will be the most restrictive value for that platform, with query possibly returning the actual value according to the current version of the OS.

Simply put, you should probably just use this value for consistency across platforms, unless you really need a specific name type to be supported.

pub fn query() -> Self[src]

Returns the types of local socket names supported on the current platform with the current environment.

On most platforms, the value is known at compile time, i.e. the support for one of the types wasn't introduced in an update to the OS or isn't known to be supported at all. Currently, this includes all supported OSes. For compatibility with OSes which might add the functionality in the future starting with a specific version, this function isn't a const fn — see ALWAYS_AVAILABLE if you need a constant expression.

pub fn paths_supported(self) -> bool[src]

Returns true if, according to self, filesystem-based local sockets are supported; false otherwise.

pub fn namespace_supported(self) -> bool[src]

Returns true if, according to self, namespaced local socket names are supported; false otherwise.

Trait Implementations

impl Clone for NameTypeSupport[src]

impl Copy for NameTypeSupport[src]

impl Debug for NameTypeSupport[src]

impl Eq for NameTypeSupport[src]

impl Hash for NameTypeSupport[src]

impl PartialEq<NameTypeSupport> for NameTypeSupport[src]

impl StructuralEq for NameTypeSupport[src]

impl StructuralPartialEq for NameTypeSupport[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.