pub struct MqttBinary { /* private fields */ }Expand description
MQTT binary data with automatic size handling via BeBytes size expressions
Implementations§
Source§impl MqttBinary
impl MqttBinary
pub fn new(length: u16, data: Vec<u8>) -> Self
Sourcepub const fn supports_raw_pointer_encoding() -> bool
pub const fn supports_raw_pointer_encoding() -> bool
Check if this struct supports raw pointer encoding
Sourcepub const fn optimal_serialization_method() -> &'static str
pub const fn optimal_serialization_method() -> &'static str
Get the optimal serialization method for this struct Returns the method name as a static string for performance guidance
Sourcepub fn to_be_bytes_optimal(&self) -> Result<Bytes, BeBytesError>
pub fn to_be_bytes_optimal(&self) -> Result<Bytes, BeBytesError>
Automatically select the optimal serialization method (big-endian) This method chooses the best approach based on struct characteristics
Sourcepub fn to_le_bytes_optimal(&self) -> Result<Bytes, BeBytesError>
pub fn to_le_bytes_optimal(&self) -> Result<Bytes, BeBytesError>
Automatically select the optimal serialization method (little-endian) This method chooses the best approach based on struct characteristics
Sourcepub fn create_batch_buffer_be(capacity: usize) -> BytesMut
pub fn create_batch_buffer_be(capacity: usize) -> BytesMut
Create a pre-sized buffer for batch serialization (big-endian) This helps avoid repeated allocations when serializing multiple instances
Sourcepub fn create_batch_buffer_le(capacity: usize) -> BytesMut
pub fn create_batch_buffer_le(capacity: usize) -> BytesMut
Create a pre-sized buffer for batch serialization (little-endian) This helps avoid repeated allocations when serializing multiple instances
Sourcepub fn encode_be_to_reused(
&self,
buf: &mut BytesMut,
) -> Result<(), BeBytesError>
pub fn encode_be_to_reused( &self, buf: &mut BytesMut, ) -> Result<(), BeBytesError>
Encode to a reusable buffer with optimal method selection (big-endian) This method automatically chooses the best encoding approach for performance
Sourcepub fn encode_le_to_reused(
&self,
buf: &mut BytesMut,
) -> Result<(), BeBytesError>
pub fn encode_le_to_reused( &self, buf: &mut BytesMut, ) -> Result<(), BeBytesError>
Encode to a reusable buffer with optimal method selection (little-endian) This method automatically chooses the best encoding approach for performance
Source§impl MqttBinary
impl MqttBinary
Sourcepub fn from_bytes(bytes: &Bytes) -> Result<Self>
pub fn from_bytes(bytes: &Bytes) -> Result<Self>
Sourcepub fn into_bytes(self) -> Bytes
pub fn into_bytes(self) -> Bytes
Convert to Bytes
Sourcepub fn encoded_size(&self) -> usize
pub fn encoded_size(&self) -> usize
Get the total encoded size (length field + data)
Trait Implementations§
Source§impl BeBytes for MqttBinary
§Performance Characteristics
- Expected improvement: 1f32x over Vec approach
- Allocation pattern: Standard Vec allocation
- Recommendation: Standard: Complex types require Vec approach
impl BeBytes for MqttBinary
§Performance Characteristics
- Expected improvement: 1f32x over Vec approach
- Allocation pattern: Standard Vec allocation
- Recommendation: Standard: Complex types require Vec approach
§Optimization Hint: This struct requires standard serialization methods due to complex field types
fn field_size() -> usize
Source§fn try_from_be_bytes(bytes: &[u8]) -> Result<(Self, usize), BeBytesError>
fn try_from_be_bytes(bytes: &[u8]) -> Result<(Self, usize), BeBytesError>
fn to_be_bytes(&self) -> Vec<u8> ⓘ
Source§fn to_be_bytes_buf(&self) -> Bytes
fn to_be_bytes_buf(&self) -> Bytes
Source§fn try_from_le_bytes(bytes: &[u8]) -> Result<(Self, usize), BeBytesError>
fn try_from_le_bytes(bytes: &[u8]) -> Result<(Self, usize), BeBytesError>
fn to_le_bytes(&self) -> Vec<u8> ⓘ
Source§fn to_le_bytes_buf(&self) -> Bytes
fn to_le_bytes_buf(&self) -> Bytes
Source§fn encode_be_to<B: BufMut>(&self, buf: &mut B) -> Result<(), BeBytesError>
fn encode_be_to<B: BufMut>(&self, buf: &mut B) -> Result<(), BeBytesError>
Source§fn encode_le_to<B: BufMut>(&self, buf: &mut B) -> Result<(), BeBytesError>
fn encode_le_to<B: BufMut>(&self, buf: &mut B) -> Result<(), BeBytesError>
Source§impl Clone for MqttBinary
impl Clone for MqttBinary
Source§fn clone(&self) -> MqttBinary
fn clone(&self) -> MqttBinary
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more