pub struct PortBaseInfo {
pub port_class: Option<DeviceClass>,
pub rx_types: Option<Vec<FrameType>>,
pub tx_types: Option<Vec<FrameTypeSupport>>,
/* private fields */
}
Expand description
Port base info.
Fields§
§port_class: Option<DeviceClass>
Port’s class. Required.
rx_types: Option<Vec<FrameType>>
Supported rx frame types on this port. Required.
Clients may open sessions subscribing to a subset of rx_types
frame
types on this port.
tx_types: Option<Vec<FrameTypeSupport>>
Supported tx frame types on this port. Required.
Frames destined to this port whose frame type is not in tx_types
are
returned with an error.
Some network devices may need to perform partial frame parsing and
serialization and, for that reason, tx_types
is a vector of
FrameTypeSupport
which includes specific features per frame type.
For example, a device that supports Ethernet frames but needs to convert
the Ethernet header may only support standard Ethernet II frames, and
not any “raw” Ethernet frame.
Implementations§
source§impl PortBaseInfo
impl PortBaseInfo
Trait Implementations§
source§impl Clone for PortBaseInfo
impl Clone for PortBaseInfo
source§fn clone(&self) -> PortBaseInfo
fn clone(&self) -> PortBaseInfo
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 PortBaseInfo
impl Debug for PortBaseInfo
source§impl Decodable for PortBaseInfo
impl Decodable for PortBaseInfo
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 PortBaseInfo
impl Encodable for PortBaseInfo
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 PortBaseInfo
impl Layout for PortBaseInfo
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<PortBaseInfo> for PortBaseInfo
impl PartialEq<PortBaseInfo> for PortBaseInfo
source§fn eq(&self, other: &PortBaseInfo) -> bool
fn eq(&self, other: &PortBaseInfo) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Persistable for PortBaseInfo
impl StructuralPartialEq for PortBaseInfo
impl TopLevel for PortBaseInfo
Auto Trait Implementations§
impl RefUnwindSafe for PortBaseInfo
impl Send for PortBaseInfo
impl Sync for PortBaseInfo
impl Unpin for PortBaseInfo
impl UnwindSafe for PortBaseInfo
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
.