pub struct CommandDataDescription<'a> { /* private fields */ }
Expand description
The CommandDataDescription
struct represents a description of command data.
Available fields:
-
mtype
: Identifies the message as command data description. (value ='T'
) -
mlen
: Length of message contents in bytes, including self. -
annotations
: Message annotations. -
capabilities
: A bit mask of allowed capabilities. -
result_cardinality
: Actual result cardinality. -
input_typedesc_id
: Argument data descriptor ID. -
input_typedesc
: Argument data descriptor. -
output_typedesc_id
: Output data descriptor ID. -
output_typedesc
: Output data descriptor.
Implementations§
Source§impl<'a> CommandDataDescription<'a>
impl<'a> CommandDataDescription<'a>
Sourcepub const fn is_buffer(buf: &'a [u8]) -> bool
pub const fn is_buffer(buf: &'a [u8]) -> bool
Checks the constant values for this struct to determine whether this message matches.
Sourcepub fn new(buf: &'a [u8]) -> Result<Self, ParseError>
pub fn new(buf: &'a [u8]) -> Result<Self, ParseError>
Creates a new instance of this struct from a given buffer.
Sourcepub fn annotations(&self) -> Array<'a, i16, Annotation<'a>>
pub fn annotations(&self) -> Array<'a, i16, Annotation<'a>>
Message annotations.
Sourcepub fn capabilities(&self) -> u64
pub fn capabilities(&self) -> u64
A bit mask of allowed capabilities.
Sourcepub fn result_cardinality(&self) -> u8
pub fn result_cardinality(&self) -> u8
Actual result cardinality.
Sourcepub fn input_typedesc_id(&self) -> Uuid
pub fn input_typedesc_id(&self) -> Uuid
Argument data descriptor ID.
Sourcepub fn input_typedesc(&self) -> Array<'a, u32, u8>
pub fn input_typedesc(&self) -> Array<'a, u32, u8>
Argument data descriptor.
Sourcepub fn output_typedesc_id(&self) -> Uuid
pub fn output_typedesc_id(&self) -> Uuid
Output data descriptor ID.
Sourcepub fn output_typedesc(&self) -> Array<'a, u32, u8>
pub fn output_typedesc(&self) -> Array<'a, u32, u8>
Output data descriptor.
pub fn to_vec(self) -> Vec<u8> ⓘ
Trait Implementations§
Source§impl AsRef<[u8]> for CommandDataDescription<'_>
impl AsRef<[u8]> for CommandDataDescription<'_>
Source§impl<'a> Clone for CommandDataDescription<'a>
impl<'a> Clone for CommandDataDescription<'a>
Source§fn clone(&self) -> CommandDataDescription<'a>
fn clone(&self) -> CommandDataDescription<'a>
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<'a> DataType for CommandDataDescription<'a>
impl<'a> DataType for CommandDataDescription<'a>
const META: StructFieldMeta
fn encode_usize(buf: &mut BufWriter<'_>, value: usize)
fn decode_usize(buf: &mut &[u8]) -> Result<usize, ParseError>
Source§impl Debug for CommandDataDescription<'_>
impl Debug for CommandDataDescription<'_>
Source§impl<'a> DecoderFor<'a, CommandDataDescription<'a>> for CommandDataDescription<'a>
impl<'a> DecoderFor<'a, CommandDataDescription<'a>> for CommandDataDescription<'a>
fn decode_for(buf: &mut &'a [u8]) -> Result<Self, ParseError>
Source§impl<'a> Default for CommandDataDescription<'a>
impl<'a> Default for CommandDataDescription<'a>
Source§fn default() -> CommandDataDescription<'a>
fn default() -> CommandDataDescription<'a>
Source§impl<ANNOTATIONS, CAPABILITIES, RESULT_CARDINALITY, INPUT_TYPEDESC_ID, INPUT_TYPEDESC, OUTPUT_TYPEDESC_ID, OUTPUT_TYPEDESC> EncoderFor<CommandDataDescription<'static>> for &CommandDataDescriptionBuilder<ANNOTATIONS, CAPABILITIES, RESULT_CARDINALITY, INPUT_TYPEDESC_ID, INPUT_TYPEDESC, OUTPUT_TYPEDESC_ID, OUTPUT_TYPEDESC>where
ANNOTATIONS: EncoderFor<Array<'static, i16, Annotation<'static>>>,
CAPABILITIES: EncoderFor<u64>,
RESULT_CARDINALITY: EncoderFor<u8>,
INPUT_TYPEDESC_ID: EncoderFor<Uuid>,
INPUT_TYPEDESC: EncoderFor<Array<'static, u32, u8>>,
OUTPUT_TYPEDESC_ID: EncoderFor<Uuid>,
OUTPUT_TYPEDESC: EncoderFor<Array<'static, u32, u8>>,
impl<ANNOTATIONS, CAPABILITIES, RESULT_CARDINALITY, INPUT_TYPEDESC_ID, INPUT_TYPEDESC, OUTPUT_TYPEDESC_ID, OUTPUT_TYPEDESC> EncoderFor<CommandDataDescription<'static>> for &CommandDataDescriptionBuilder<ANNOTATIONS, CAPABILITIES, RESULT_CARDINALITY, INPUT_TYPEDESC_ID, INPUT_TYPEDESC, OUTPUT_TYPEDESC_ID, OUTPUT_TYPEDESC>where
ANNOTATIONS: EncoderFor<Array<'static, i16, Annotation<'static>>>,
CAPABILITIES: EncoderFor<u64>,
RESULT_CARDINALITY: EncoderFor<u8>,
INPUT_TYPEDESC_ID: EncoderFor<Uuid>,
INPUT_TYPEDESC: EncoderFor<Array<'static, u32, u8>>,
OUTPUT_TYPEDESC_ID: EncoderFor<Uuid>,
OUTPUT_TYPEDESC: EncoderFor<Array<'static, u32, u8>>,
fn encode_for(&self, buf: &mut BufWriter<'_>)
Source§impl<'a> EncoderFor<CommandDataDescription<'static>> for CommandDataDescription<'a>
impl<'a> EncoderFor<CommandDataDescription<'static>> for CommandDataDescription<'a>
fn encode_for(&self, buf: &mut BufWriter<'_>)
Source§impl<ANNOTATIONS, CAPABILITIES, RESULT_CARDINALITY, INPUT_TYPEDESC_ID, INPUT_TYPEDESC, OUTPUT_TYPEDESC_ID, OUTPUT_TYPEDESC> EncoderFor<CommandDataDescription<'static>> for CommandDataDescriptionBuilder<ANNOTATIONS, CAPABILITIES, RESULT_CARDINALITY, INPUT_TYPEDESC_ID, INPUT_TYPEDESC, OUTPUT_TYPEDESC_ID, OUTPUT_TYPEDESC>where
ANNOTATIONS: EncoderFor<Array<'static, i16, Annotation<'static>>>,
CAPABILITIES: EncoderFor<u64>,
RESULT_CARDINALITY: EncoderFor<u8>,
INPUT_TYPEDESC_ID: EncoderFor<Uuid>,
INPUT_TYPEDESC: EncoderFor<Array<'static, u32, u8>>,
OUTPUT_TYPEDESC_ID: EncoderFor<Uuid>,
OUTPUT_TYPEDESC: EncoderFor<Array<'static, u32, u8>>,
impl<ANNOTATIONS, CAPABILITIES, RESULT_CARDINALITY, INPUT_TYPEDESC_ID, INPUT_TYPEDESC, OUTPUT_TYPEDESC_ID, OUTPUT_TYPEDESC> EncoderFor<CommandDataDescription<'static>> for CommandDataDescriptionBuilder<ANNOTATIONS, CAPABILITIES, RESULT_CARDINALITY, INPUT_TYPEDESC_ID, INPUT_TYPEDESC, OUTPUT_TYPEDESC_ID, OUTPUT_TYPEDESC>where
ANNOTATIONS: EncoderFor<Array<'static, i16, Annotation<'static>>>,
CAPABILITIES: EncoderFor<u64>,
RESULT_CARDINALITY: EncoderFor<u8>,
INPUT_TYPEDESC_ID: EncoderFor<Uuid>,
INPUT_TYPEDESC: EncoderFor<Array<'static, u32, u8>>,
OUTPUT_TYPEDESC_ID: EncoderFor<Uuid>,
OUTPUT_TYPEDESC: EncoderFor<Array<'static, u32, u8>>,
fn encode_for(&self, buf: &mut BufWriter<'_>)
Source§impl PartialEq for CommandDataDescription<'_>
impl PartialEq for CommandDataDescription<'_>
Source§impl<'a> StructMeta for CommandDataDescription<'a>
Implements a trait containing the fields of the struct, allowing
us to compute some useful things.
impl<'a> StructMeta for CommandDataDescription<'a>
Implements a trait containing the fields of the struct, allowing us to compute some useful things.
const FIELDS: StructFields
type Struct<'__struct> = CommandDataDescription<'__struct>
fn new<'__next_lifetime>( buf: &'__next_lifetime [u8], ) -> Result<Self::Struct<'__next_lifetime>, ParseError>
fn to_vec(&self) -> Vec<u8> ⓘ
const FIELD_COUNT: usize = _
const IS_FIXED_SIZE: bool = _
const FIXED_SIZE: Option<usize> = _
const LENGTH_FIELD_INDEX: Option<usize> = _
const HAS_LENGTH_FIELD: bool = _
impl<'a> Copy for CommandDataDescription<'a>
impl Eq for CommandDataDescription<'_>
impl StructAttributeFieldCount<{<$name<'_> as $crate::prelude::StructMeta>::FIELD_COUNT}> for CommandDataDescription<'_>
Implements a trait indicating that the struct has a field count.
impl StructAttributeFixedSize<{<$name<'_> as $crate::prelude::StructMeta>::IS_FIXED_SIZE}> for CommandDataDescription<'_>
Implements a trait indicating that the struct has a fixed size. This needs to be a trait-generic rather than and associated constant for us to use elsewhere.
impl StructAttributeHasLengthField<{<$name<'_> as $crate::prelude::StructMeta>::HAS_LENGTH_FIELD}> for CommandDataDescription<'_>
Implements a trait indicating that the struct has a length field.