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§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MqttBinary
impl Debug for MqttBinary
Source§impl PartialEq for MqttBinary
impl PartialEq for MqttBinary
Source§impl TryFrom<&[u8]> for MqttBinary
impl TryFrom<&[u8]> for MqttBinary
Source§impl TryFrom<Bytes> for MqttBinary
impl TryFrom<Bytes> for MqttBinary
impl Eq for MqttBinary
impl StructuralPartialEq for MqttBinary
Auto Trait Implementations§
impl Freeze for MqttBinary
impl RefUnwindSafe for MqttBinary
impl Send for MqttBinary
impl Sync for MqttBinary
impl Unpin for MqttBinary
impl UnwindSafe for MqttBinary
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)