pub struct NetworkSocketRecvControlData {
pub socket: Option<SocketRecvControlData>,
pub ip: Option<IpRecvControlData>,
pub ipv6: Option<Ipv6RecvControlData>,
/* private fields */
}
Expand description
Network socket (L3) ancillary data that can be received.
Fields§
§socket: Option<SocketRecvControlData>
Socket level ancillary data.
ip: Option<IpRecvControlData>
IPv4 level ancillary data.
These match POSIX SOL_IP
control messages.
ipv6: Option<Ipv6RecvControlData>
IPv6 level ancillary data.
These match POSIX SOL_IPV6
control messages.
Implementations§
Trait Implementations§
source§impl Clone for NetworkSocketRecvControlData
impl Clone for NetworkSocketRecvControlData
source§fn clone(&self) -> NetworkSocketRecvControlData
fn clone(&self) -> NetworkSocketRecvControlData
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for NetworkSocketRecvControlData
impl Debug for NetworkSocketRecvControlData
source§impl Decodable for NetworkSocketRecvControlData
impl Decodable for NetworkSocketRecvControlData
source§fn decode(&mut self, decoder: &mut Decoder<'_>, offset: usize) -> Result<()>
fn decode(&mut self, decoder: &mut Decoder<'_>, offset: usize) -> Result<()>
Decodes an object of this type from the decoder’s buffers into
self
.
Callers must ensure that offset
is a multiple of
Layout::inline_align
, and that decoder.buf
has room for reading
Layout::inline_size
bytes at offset
. Read moresource§impl Encodable for NetworkSocketRecvControlData
impl Encodable for NetworkSocketRecvControlData
source§fn encode(
&mut self,
encoder: &mut Encoder<'_, '_>,
offset: usize,
recursion_depth: usize
) -> Result<()>
fn encode( &mut self, encoder: &mut Encoder<'_, '_>, offset: usize, recursion_depth: usize ) -> Result<()>
Encode the object into the buffer. Any handles stored in the object are
swapped for
Handle::INVALID
. Callers must ensure that offset
is a
multiple of Layout::inline_align
, and that encoder.buf
has room for
writing Layout::inline_size
bytes at offset
. Read moresource§impl Layout for NetworkSocketRecvControlData
impl Layout for NetworkSocketRecvControlData
source§fn inline_align(_context: &Context) -> usize
fn inline_align(_context: &Context) -> usize
Returns the minimum required alignment of the inline portion of the
encoded object. It must be a (nonzero) power of two.
source§fn inline_size(_context: &Context) -> usize
fn inline_size(_context: &Context) -> usize
Returns the size of the inline portion of the encoded object, including
padding for the type’s alignment. Must be a multiple of
inline_align
.§fn supports_simple_copy() -> boolwhere
Self: Sized,
fn supports_simple_copy() -> boolwhere Self: Sized,
Returns true iff the type can be encoded or decoded via simple copy. Read more
source§impl PartialEq<NetworkSocketRecvControlData> for NetworkSocketRecvControlData
impl PartialEq<NetworkSocketRecvControlData> for NetworkSocketRecvControlData
source§fn eq(&self, other: &NetworkSocketRecvControlData) -> bool
fn eq(&self, other: &NetworkSocketRecvControlData) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Persistable for NetworkSocketRecvControlData
impl StructuralPartialEq for NetworkSocketRecvControlData
impl TopLevel for NetworkSocketRecvControlData
Auto Trait Implementations§
impl RefUnwindSafe for NetworkSocketRecvControlData
impl Send for NetworkSocketRecvControlData
impl Sync for NetworkSocketRecvControlData
impl Unpin for NetworkSocketRecvControlData
impl UnwindSafe for NetworkSocketRecvControlData
Blanket Implementations§
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> LayoutObject for Twhere
T: Layout,
impl<T> LayoutObject for Twhere T: Layout,
§fn inline_align(&self, context: &Context) -> usize
fn inline_align(&self, context: &Context) -> usize
See
Layout::inline_align
.§fn inline_size(&self, context: &Context) -> usize
fn inline_size(&self, context: &Context) -> usize
See
Layout::inline_size
.