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