Struct socket2::Domain

source ·
pub struct Domain(/* private fields */);
Expand description

Specification of the communication domain for a socket.

This is a newtype wrapper around an integer which provides a nicer API in addition to an injection point for documentation. Convenience constants such as Domain::IPV4, Domain::IPV6, etc, are provided to avoid reaching into libc for various constants.

This type is freely interconvertible with C’s int type, however, if a raw value needs to be provided.

Implementations§

source§

impl Domain

Unix only API.

source

pub const UNIX: Domain = _

Domain for Unix socket communication, corresponding to AF_UNIX.

source

pub const PACKET: Domain = _

Domain for low-level packet interface, corresponding to AF_PACKET.

source

pub const VSOCK: Domain = _

Domain for low-level VSOCK interface, corresponding to AF_VSOCK.

source§

impl Domain

source

pub const IPV4: Domain = _

Domain for IPv4 communication, corresponding to AF_INET.

source

pub const IPV6: Domain = _

Domain for IPv6 communication, corresponding to AF_INET6.

source

pub const fn for_address(address: SocketAddr) -> Domain

Returns the correct domain for address.

Trait Implementations§

source§

impl Clone for Domain

source§

fn clone(&self) -> Domain

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 Domain

source§

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

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

impl From<Domain> for c_int

source§

fn from(d: Domain) -> c_int

Converts to this type from the input type.
source§

impl From<i32> for Domain

source§

fn from(d: c_int) -> Domain

Converts to this type from the input type.
source§

impl PartialEq for Domain

source§

fn eq(&self, other: &Domain) -> 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 Domain

source§

impl Eq for Domain

source§

impl StructuralEq for Domain

source§

impl StructuralPartialEq for Domain

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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 T
where 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> ToOwned for T
where 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 T
where 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 T
where 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.