Union SocketAddrCRepr

#[repr(C)]
pub(in ::sys::net::connection::socket) union SocketAddrCRepr { pub(in ::sys::net::connection::socket) v4: sockaddr_in, pub(in ::sys::net::connection::socket) v6: sockaddr_in6 }

A type with the same memory layout as c::sockaddr. Used in converting Rust level SocketAddr* types into their system representation. The benefit of this specific type over using c::sockaddr_storage is that this type is exactly as large as it needs to be and not a lot larger. And it can be initialized more cleanly from Rust.

Fields

v4: sockaddr_in
v6: sockaddr_in6

Implementations

impl SocketAddrCRepr

fn as_ptr(&self) -> *const sockaddr

Auto Trait Implementations

impl Freeze for SocketAddrCRepr

impl RefUnwindSafe for SocketAddrCRepr

impl Send for SocketAddrCRepr

impl Sync for SocketAddrCRepr

impl Unpin for SocketAddrCRepr

impl UnsafeUnpin for SocketAddrCRepr

impl UnwindSafe for SocketAddrCRepr

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for SocketAddrCRepr where T: ?Sized,

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

impl<T> From<T> for SocketAddrCRepr

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> SizeHint for SocketAddrCRepr where T: ?Sized,

fn lower_bound(&self) -> usize
fn upper_bound(&self) -> Option<usize>

impl<T> SizedTypeProperties for SocketAddrCRepr

impl<T, U> Into<U> for SocketAddrCRepr where U: From<T>,

fn into(self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom<U> for SocketAddrCRepr where U: Into<T>,

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

impl<T, U> TryInto<U> for SocketAddrCRepr where U: TryFrom<T>,

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