pub struct NegotiateProtocolVersion<'a> { /* private fields */ }Expand description
The NegotiateProtocolVersion struct represents a message requesting protocol version negotiation.
Available fields:
-
mtype: Identifies the message as a protocol version negotiation request. (value ='v') -
mlen: Length of message contents in bytes, including self. -
minor_version: Newest minor protocol version supported by the server. -
options: List of protocol options not recognized.
Implementations§
Source§impl<'a> NegotiateProtocolVersion<'a>
impl<'a> NegotiateProtocolVersion<'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 minor_version(&self) -> i32
pub fn minor_version(&self) -> i32
Newest minor protocol version supported by the server.
pub fn to_vec(self) -> Vec<u8> ⓘ
Trait Implementations§
Source§impl AsRef<[u8]> for NegotiateProtocolVersion<'_>
impl AsRef<[u8]> for NegotiateProtocolVersion<'_>
Source§impl<'a> Clone for NegotiateProtocolVersion<'a>
impl<'a> Clone for NegotiateProtocolVersion<'a>
Source§fn clone(&self) -> NegotiateProtocolVersion<'a>
fn clone(&self) -> NegotiateProtocolVersion<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a> DataType for NegotiateProtocolVersion<'a>
impl<'a> DataType for NegotiateProtocolVersion<'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 NegotiateProtocolVersion<'_>
impl Debug for NegotiateProtocolVersion<'_>
Source§impl<'a> DecoderFor<'a, NegotiateProtocolVersion<'a>> for NegotiateProtocolVersion<'a>
impl<'a> DecoderFor<'a, NegotiateProtocolVersion<'a>> for NegotiateProtocolVersion<'a>
fn decode_for(buf: &mut &'a [u8]) -> Result<Self, ParseError>
Source§impl<'a> Default for NegotiateProtocolVersion<'a>
impl<'a> Default for NegotiateProtocolVersion<'a>
Source§fn default() -> NegotiateProtocolVersion<'a>
fn default() -> NegotiateProtocolVersion<'a>
Source§impl<MINOR_VERSION, OPTIONS> EncoderFor<NegotiateProtocolVersion<'static>> for &NegotiateProtocolVersionBuilder<MINOR_VERSION, OPTIONS>
impl<MINOR_VERSION, OPTIONS> EncoderFor<NegotiateProtocolVersion<'static>> for &NegotiateProtocolVersionBuilder<MINOR_VERSION, OPTIONS>
fn encode_for(&self, buf: &mut BufWriter<'_>)
Source§impl<'a> EncoderFor<NegotiateProtocolVersion<'static>> for NegotiateProtocolVersion<'a>
impl<'a> EncoderFor<NegotiateProtocolVersion<'static>> for NegotiateProtocolVersion<'a>
fn encode_for(&self, buf: &mut BufWriter<'_>)
Source§impl<MINOR_VERSION, OPTIONS> EncoderFor<NegotiateProtocolVersion<'static>> for NegotiateProtocolVersionBuilder<MINOR_VERSION, OPTIONS>
impl<MINOR_VERSION, OPTIONS> EncoderFor<NegotiateProtocolVersion<'static>> for NegotiateProtocolVersionBuilder<MINOR_VERSION, OPTIONS>
fn encode_for(&self, buf: &mut BufWriter<'_>)
Source§impl PartialEq for NegotiateProtocolVersion<'_>
impl PartialEq for NegotiateProtocolVersion<'_>
Source§impl<'a> StructMeta for NegotiateProtocolVersion<'a>
Implements a trait containing the fields of the struct, allowing
us to compute some useful things.
impl<'a> StructMeta for NegotiateProtocolVersion<'a>
Implements a trait containing the fields of the struct, allowing us to compute some useful things.
const FIELDS: StructFields
type Struct<'__struct> = NegotiateProtocolVersion<'__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 NegotiateProtocolVersion<'a>
impl Eq for NegotiateProtocolVersion<'_>
impl StructAttributeFieldCount<{<$name<'_> as $crate::prelude::StructMeta>::FIELD_COUNT}> for NegotiateProtocolVersion<'_>
Implements a trait indicating that the struct has a field count.
impl StructAttributeFixedSize<{<$name<'_> as $crate::prelude::StructMeta>::IS_FIXED_SIZE}> for NegotiateProtocolVersion<'_>
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 NegotiateProtocolVersion<'_>
Implements a trait indicating that the struct has a length field.