Struct socket2::MsgHdrMut

source ·
pub struct MsgHdrMut<'addr, 'bufs, 'control> { /* private fields */ }
Expand description

Configuration of a recvmsg(2) system call.

This wraps msghdr on Unix and WSAMSG on Windows. Also see MsgHdr for the variant used by sendmsg(2).

Implementations§

source§

impl<'addr, 'bufs, 'control> MsgHdrMut<'addr, 'bufs, 'control>

source

pub fn new() -> MsgHdrMut<'addr, 'bufs, 'control>

Create a new MsgHdrMut with all empty/zero fields.

source

pub fn with_addr(self, addr: &'addr mut SockAddr) -> Self

Set the mutable address (name) of the message.

Corresponds to setting msg_name and msg_namelen on Unix and name and namelen on Windows.

source

pub fn with_buffers(self, bufs: &'bufs mut [MaybeUninitSlice<'_>]) -> Self

Set the mutable buffer(s) of the message.

Corresponds to setting msg_iov and msg_iovlen on Unix and lpBuffers and dwBufferCount on Windows.

source

pub fn with_control(self, buf: &'control mut [MaybeUninit<u8>]) -> Self

Set the mutable control buffer of the message.

Corresponds to setting msg_control and msg_controllen on Unix and Control on Windows.

source

pub fn flags(&self) -> RecvFlags

Returns the flags of the message.

source

pub fn control_len(&self) -> usize

Gets the length of the control buffer.

Can be used to determine how much, if any, of the control buffer was filled by recvmsg.

Corresponds to msg_controllen on Unix and Control.len on Windows.

Trait Implementations§

source§

impl<'name, 'bufs, 'control> Debug for MsgHdrMut<'name, 'bufs, 'control>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'addr, 'bufs, 'control> Freeze for MsgHdrMut<'addr, 'bufs, 'control>

§

impl<'addr, 'bufs, 'control> RefUnwindSafe for MsgHdrMut<'addr, 'bufs, 'control>

§

impl<'addr, 'bufs, 'control> !Send for MsgHdrMut<'addr, 'bufs, 'control>

§

impl<'addr, 'bufs, 'control> !Sync for MsgHdrMut<'addr, 'bufs, 'control>

§

impl<'addr, 'bufs, 'control> Unpin for MsgHdrMut<'addr, 'bufs, 'control>

§

impl<'addr, 'bufs, 'control> !UnwindSafe for MsgHdrMut<'addr, 'bufs, 'control>

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, U> TryFrom<U> for T
where U: Into<T>,

source§

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>,

source§

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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 56 bytes