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>
impl<'addr, 'bufs, 'control> MsgHdrMut<'addr, 'bufs, 'control>
Sourcepub fn new() -> MsgHdrMut<'addr, 'bufs, 'control>
pub fn new() -> MsgHdrMut<'addr, 'bufs, 'control>
Create a new MsgHdrMut with all empty/zero fields.
Sourcepub fn with_addr(self, addr: &'addr mut SockAddr) -> Self
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.
Sourcepub fn with_buffers(self, bufs: &'bufs mut [MaybeUninitSlice<'_>]) -> Self
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.
Sourcepub fn with_control(self, buf: &'control mut [MaybeUninit<u8>]) -> Self
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.
Sourcepub fn control_len(&self) -> usize
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§
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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