#[non_exhaustive]pub enum ControlMessage<'a> {
ScmRights(&'a [RawFd]),
RxqOvfl(&'a u32),
}
Expand description
A type-safe zero-copy wrapper around a single control message, as used wih
sendmsg
. More types may be added to this enum; do not
exhaustively pattern-match it.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ScmRights(&'a [RawFd])
A message of type SCM_RIGHTS
, containing an array of file
descriptors passed between processes.
See the description in the “Ancillary messages” section of the unix(7) man page.
Using multiple ScmRights
messages for a single sendmsg
call isn’t
recommended since it causes platform-dependent behaviour: It might
swallow all but the first ScmRights
message or fail with EINVAL
.
Instead, you can put all fds to be passed into a single ScmRights
message.
RxqOvfl(&'a u32)
SO_RXQ_OVFL indicates that an unsigned 32 bit value ancilliary msg (cmsg) should be attached to recieved skbs indicating the number of packets dropped by the socket between the last recieved packet and this received packet.
Trait Implementations§
Source§impl<'a> Clone for ControlMessage<'a>
impl<'a> Clone for ControlMessage<'a>
Source§fn clone(&self) -> ControlMessage<'a>
fn clone(&self) -> ControlMessage<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<'a> Debug for ControlMessage<'a>
impl<'a> Debug for ControlMessage<'a>
Source§impl<'a> PartialEq for ControlMessage<'a>
impl<'a> PartialEq for ControlMessage<'a>
impl<'a> Copy for ControlMessage<'a>
impl<'a> Eq for ControlMessage<'a>
impl<'a> StructuralPartialEq for ControlMessage<'a>
Auto Trait Implementations§
impl<'a> Freeze for ControlMessage<'a>
impl<'a> RefUnwindSafe for ControlMessage<'a>
impl<'a> Send for ControlMessage<'a>
impl<'a> Sync for ControlMessage<'a>
impl<'a> Unpin for ControlMessage<'a>
impl<'a> UnwindSafe for ControlMessage<'a>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)