pub enum NameTypeSupport {
    OnlyPaths,
    OnlyNamespaced,
    Both,
}
Expand description

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§

source§

impl NameTypeSupport

source

pub const ALWAYS_AVAILABLE: Self = NAME_TYPE_ALWAYS_SUPPORTED_REAL

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.

source

pub fn query() -> Self

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.

source

pub const fn paths_supported(self) -> bool

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

source

pub const fn namespace_supported(self) -> bool

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

Trait Implementations§

source§

impl Clone for NameTypeSupport

source§

fn clone(&self) -> NameTypeSupport

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for NameTypeSupport

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for NameTypeSupport

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq<NameTypeSupport> for NameTypeSupport

source§

fn eq(&self, other: &NameTypeSupport) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for NameTypeSupport

source§

impl Eq for NameTypeSupport

source§

impl StructuralEq for NameTypeSupport

source§

impl StructuralPartialEq for NameTypeSupport

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> To for Twhere T: ?Sized,

source§

fn to<T>(self) -> Twhere Self: Into<T>,

Converts to T by calling Into<T>::into.
source§

fn try_to<T>(self) -> Result<T, Self::Error>where Self: TryInto<T>,

Tries to convert to T by calling TryInto<T>::try_into.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.