pub struct ProtocolExtension<'a> { /* private fields */ }
Expand description
The ProtocolExtension
struct represents a protocol extension.
Available fields:
-
name
: Extension name. -
annotations
: A set of extension annotations.
Implementations§
Source§impl<'a> ProtocolExtension<'a>
impl<'a> ProtocolExtension<'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>>
A set of extension annotations.
pub fn to_vec(self) -> Vec<u8> ⓘ
Trait Implementations§
Source§impl AsRef<[u8]> for ProtocolExtension<'_>
impl AsRef<[u8]> for ProtocolExtension<'_>
Source§impl<'a> Clone for ProtocolExtension<'a>
impl<'a> Clone for ProtocolExtension<'a>
Source§fn clone(&self) -> ProtocolExtension<'a>
fn clone(&self) -> ProtocolExtension<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<'a> DataType for ProtocolExtension<'a>
impl<'a> DataType for ProtocolExtension<'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 ProtocolExtension<'_>
impl Debug for ProtocolExtension<'_>
Source§impl<'a> DecoderFor<'a, ProtocolExtension<'a>> for ProtocolExtension<'a>
impl<'a> DecoderFor<'a, ProtocolExtension<'a>> for ProtocolExtension<'a>
fn decode_for(buf: &mut &'a [u8]) -> Result<Self, ParseError>
Source§impl<'a> Default for ProtocolExtension<'a>
impl<'a> Default for ProtocolExtension<'a>
Source§fn default() -> ProtocolExtension<'a>
fn default() -> ProtocolExtension<'a>
Returns the “default value” for a type. Read more
Source§impl<NAME, ANNOTATIONS> EncoderFor<ProtocolExtension<'static>> for &ProtocolExtensionBuilder<NAME, ANNOTATIONS>where
NAME: EncoderFor<LString<'static>>,
ANNOTATIONS: EncoderFor<Array<'static, i16, Annotation<'static>>>,
impl<NAME, ANNOTATIONS> EncoderFor<ProtocolExtension<'static>> for &ProtocolExtensionBuilder<NAME, ANNOTATIONS>where
NAME: EncoderFor<LString<'static>>,
ANNOTATIONS: EncoderFor<Array<'static, i16, Annotation<'static>>>,
fn encode_for(&self, buf: &mut BufWriter<'_>)
Source§impl<'a> EncoderFor<ProtocolExtension<'static>> for ProtocolExtension<'a>
impl<'a> EncoderFor<ProtocolExtension<'static>> for ProtocolExtension<'a>
fn encode_for(&self, buf: &mut BufWriter<'_>)
Source§impl<NAME, ANNOTATIONS> EncoderFor<ProtocolExtension<'static>> for ProtocolExtensionBuilder<NAME, ANNOTATIONS>where
NAME: EncoderFor<LString<'static>>,
ANNOTATIONS: EncoderFor<Array<'static, i16, Annotation<'static>>>,
impl<NAME, ANNOTATIONS> EncoderFor<ProtocolExtension<'static>> for ProtocolExtensionBuilder<NAME, ANNOTATIONS>where
NAME: EncoderFor<LString<'static>>,
ANNOTATIONS: EncoderFor<Array<'static, i16, Annotation<'static>>>,
fn encode_for(&self, buf: &mut BufWriter<'_>)
Source§impl PartialEq for ProtocolExtension<'_>
impl PartialEq for ProtocolExtension<'_>
Source§impl<'a> StructMeta for ProtocolExtension<'a>
Implements a trait containing the fields of the struct, allowing
us to compute some useful things.
impl<'a> StructMeta for ProtocolExtension<'a>
Implements a trait containing the fields of the struct, allowing us to compute some useful things.
const FIELDS: StructFields
type Struct<'__struct> = ProtocolExtension<'__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 ProtocolExtension<'a>
impl Eq for ProtocolExtension<'_>
impl StructAttributeFieldCount<{<$name<'_> as $crate::prelude::StructMeta>::FIELD_COUNT}> for ProtocolExtension<'_>
Implements a trait indicating that the struct has a field count.
impl StructAttributeFixedSize<{<$name<'_> as $crate::prelude::StructMeta>::IS_FIXED_SIZE}> for ProtocolExtension<'_>
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 ProtocolExtension<'_>
Implements a trait indicating that the struct has a length field.
Auto Trait Implementations§
impl<'a> Freeze for ProtocolExtension<'a>
impl<'a> RefUnwindSafe for ProtocolExtension<'a>
impl<'a> Send for ProtocolExtension<'a>
impl<'a> Sync for ProtocolExtension<'a>
impl<'a> Unpin for ProtocolExtension<'a>
impl<'a> UnwindSafe for ProtocolExtension<'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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> EncoderFor<Rest<'static>> for T
impl<T> EncoderFor<Rest<'static>> for T
fn encode_for(&self, buf: &mut BufWriter<'_>)
Source§impl<T> EncoderForExt for Twhere
T: ?Sized,
impl<T> EncoderForExt for Twhere
T: ?Sized,
Source§fn to_vec<F>(&self) -> Vec<u8> ⓘwhere
F: 'static,
Self: EncoderFor<F>,
fn to_vec<F>(&self) -> Vec<u8> ⓘwhere
F: 'static,
Self: EncoderFor<F>,
Convert this builder into a vector of bytes. This is generally
not the most efficient way to perform serialization.
Source§fn encode_buffer<F>(&self, buf: &mut [u8]) -> Result<usize, usize>where
F: 'static,
Self: EncoderFor<F>,
fn encode_buffer<F>(&self, buf: &mut [u8]) -> Result<usize, usize>where
F: 'static,
Self: EncoderFor<F>,
Encode this builder into a given buffer. If the buffer is
too small, the function will return the number of bytes
required to encode the builder.
Source§fn encode_buffer_uninit<'a, F>(
&self,
buf: &'a mut [MaybeUninit<u8>],
) -> Result<&'a mut [u8], usize>where
F: 'static,
Self: EncoderFor<F>,
fn encode_buffer_uninit<'a, F>(
&self,
buf: &'a mut [MaybeUninit<u8>],
) -> Result<&'a mut [u8], usize>where
F: 'static,
Self: EncoderFor<F>,
Encode this builder into a given buffer. If the buffer is
too small, the function will return the number of bytes
required to encode the builder.