Struct MsgHdrMut
#[repr(transparent)]
pub struct MsgHdrMut<'addr, 'bufs, 'control> { /* private fields */ }
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
impl<'addr, 'bufs, 'control> MsgHdrMut<'addr, 'bufs, 'control>
fn new() -> MsgHdrMut<'addr, 'bufs, 'control>Create a new
MsgHdrMutwith all empty/zero fields.fn with_addr(self, addr: &'addr mut SockAddr) -> SelfSet the mutable address (name) of the message.
Corresponds to setting
msg_nameandmsg_namelenon Unix andnameandnamelenon Windows.fn with_buffers(self, bufs: &'bufs mut [MaybeUninitSlice<'_>]) -> SelfSet the mutable buffer(s) of the message.
Corresponds to setting
msg_iovandmsg_iovlenon Unix andlpBuffersanddwBufferCounton Windows.fn with_control(self, buf: &'control mut [MaybeUninit<u8>]) -> SelfSet the mutable control buffer of the message.
Corresponds to setting
msg_controlandmsg_controllenon Unix andControlon Windows.fn flags(&self) -> RecvFlagsReturns the flags of the message.
fn control_len(&self) -> usizeGets 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_controllenon Unix andControl.lenon Windows.
Trait Implementations
impl Send for MsgHdrMut<'_, '_, '_>
impl<'name, 'bufs, 'control> Debug for MsgHdrMut<'name, 'bufs, 'control>
fn fmt(&self, fmt: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl<'addr, 'bufs, 'control> !Sync for MsgHdrMut<'addr, 'bufs, 'control>
impl<'addr, 'bufs, 'control> !UnwindSafe for MsgHdrMut<'addr, 'bufs, 'control>
impl<'addr, 'bufs, 'control> Freeze for MsgHdrMut<'addr, 'bufs, 'control>
impl<'addr, 'bufs, 'control> RefUnwindSafe for MsgHdrMut<'addr, 'bufs, 'control>
impl<'addr, 'bufs, 'control> Unpin for MsgHdrMut<'addr, 'bufs, 'control>
impl<'addr, 'bufs, 'control> UnsafeUnpin for MsgHdrMut<'addr, 'bufs, 'control>
Blanket Implementations
impl<T> Any for MsgHdrMut<'addr, 'bufs, 'control>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for MsgHdrMut<'addr, 'bufs, 'control>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for MsgHdrMut<'addr, 'bufs, 'control>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for MsgHdrMut<'addr, 'bufs, 'control>
fn from(t: T) -> TReturns the argument unchanged.
impl<T, U> Into<U> for MsgHdrMut<'addr, 'bufs, 'control>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for MsgHdrMut<'addr, 'bufs, 'control>
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for MsgHdrMut<'addr, 'bufs, 'control>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>