Struct socket2::MsgHdr

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

Configuration of a sendmsg(2) system call.

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

Implementations§

source§

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

source

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

Create a new MsgHdr with all empty/zero fields.

source

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

Set the 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 [IoSlice<'_>]) -> Self

Set the 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 [u8]) -> Self

Set the control buffer of the message.

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

source

pub fn with_flags(self, flags: c_int) -> Self

Set the flags of the message.

Corresponds to setting msg_flags on Unix and dwFlags on Windows.

Trait Implementations§

source§

impl<'name, 'bufs, 'control> Debug for MsgHdr<'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 MsgHdr<'addr, 'bufs, 'control>

§

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

§

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

§

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

§

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

§

impl<'addr, 'bufs, 'control> UnwindSafe for MsgHdr<'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