Struct rust_mqtt::packet::v5::publish_packet::PublishPacket
source · pub struct PublishPacket<'a, const MAX_PROPERTIES: usize> {
pub fixed_header: u8,
pub remain_len: u32,
pub topic_name: EncodedString<'a>,
pub packet_identifier: u16,
pub property_len: u32,
pub properties: Vec<Property<'a>, MAX_PROPERTIES>,
pub message: Option<&'a [u8]>,
}Fields§
§fixed_header: u8§remain_len: u32§topic_name: EncodedString<'a>§packet_identifier: u16§property_len: u32§properties: Vec<Property<'a>, MAX_PROPERTIES>§message: Option<&'a [u8]>Implementations§
source§impl<'a, const MAX_PROPERTIES: usize> PublishPacket<'a, MAX_PROPERTIES>
impl<'a, const MAX_PROPERTIES: usize> PublishPacket<'a, MAX_PROPERTIES>
pub fn add_topic_name(&mut self, topic_name: &'a str)
pub fn add_message(&mut self, message: &'a [u8])
pub fn add_qos(&mut self, qos: QualityOfService)
pub fn add_retain(&mut self, retain: bool)
pub fn add_identifier(&mut self, identifier: u16)
Trait Implementations§
source§impl<'a, const MAX_PROPERTIES: usize> Packet<'a> for PublishPacket<'a, MAX_PROPERTIES>
impl<'a, const MAX_PROPERTIES: usize> Packet<'a> for PublishPacket<'a, MAX_PROPERTIES>
fn new() -> Self
source§fn encode(
&mut self,
buffer: &mut [u8],
buffer_len: usize
) -> Result<usize, BufferError>
fn encode( &mut self, buffer: &mut [u8], buffer_len: usize ) -> Result<usize, BufferError>
Method encode provide way how to transfer Packet struct into Byte array (buffer)
source§fn decode(
&mut self,
buff_reader: &mut BuffReader<'a>
) -> Result<(), BufferError>
fn decode( &mut self, buff_reader: &mut BuffReader<'a> ) -> Result<(), BufferError>
Decode method is opposite of encode - decoding Byte array and mapping it into corresponding Packet struct
source§fn set_property_len(&mut self, value: u32)
fn set_property_len(&mut self, value: u32)
Setter method for packet properties len - not all Packet types support this
source§fn get_property_len(&mut self) -> u32
fn get_property_len(&mut self) -> u32
Setter method for packet properties len - not all Packet types support this
source§fn push_to_properties(&mut self, property: Property<'a>)
fn push_to_properties(&mut self, property: Property<'a>)
Method enables pushing new property into packet properties
source§fn property_allowed(&mut self, property: &Property<'a>) -> bool
fn property_allowed(&mut self, property: &Property<'a>) -> bool
Returns if property is allowed for packet
source§fn set_fixed_header(&mut self, header: u8)
fn set_fixed_header(&mut self, header: u8)
Setter for packet fixed header
source§fn set_remaining_len(&mut self, remaining_len: u32)
fn set_remaining_len(&mut self, remaining_len: u32)
Setter for remaining len
source§fn add_properties<const MAX_PROPERTIES: usize>(
&mut self,
properties: &Vec<Property<'a>, MAX_PROPERTIES>
) -> u32
fn add_properties<const MAX_PROPERTIES: usize>( &mut self, properties: &Vec<Property<'a>, MAX_PROPERTIES> ) -> u32
Method enables adding properties from client config - each packet decides if property can be used with that or not
source§fn decode_properties(
&mut self,
buff_reader: &mut BuffReader<'a>
) -> Result<(), BufferError>
fn decode_properties( &mut self, buff_reader: &mut BuffReader<'a> ) -> Result<(), BufferError>
Method is decoding Byte array pointing to properties into heapless Vec
in packet. If decoding goes wrong method is returning Error
source§fn decode_fixed_header(
&mut self,
buff_reader: &mut BuffReader<'_>
) -> Result<PacketType, BufferError>
fn decode_fixed_header( &mut self, buff_reader: &mut BuffReader<'_> ) -> Result<PacketType, BufferError>
Method is decoding packet header into fixed header part and remaining length
Auto Trait Implementations§
impl<'a, const MAX_PROPERTIES: usize> RefUnwindSafe for PublishPacket<'a, MAX_PROPERTIES>
impl<'a, const MAX_PROPERTIES: usize> Send for PublishPacket<'a, MAX_PROPERTIES>
impl<'a, const MAX_PROPERTIES: usize> Sync for PublishPacket<'a, MAX_PROPERTIES>
impl<'a, const MAX_PROPERTIES: usize> Unpin for PublishPacket<'a, MAX_PROPERTIES>
impl<'a, const MAX_PROPERTIES: usize> UnwindSafe for PublishPacket<'a, MAX_PROPERTIES>
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