Struct Subscribe
pub struct Subscribe<'a> {
pub packet_id: PacketId,
pub properties: &'a SubscribeProperties,
payload: &'a [u8],
}Expand description
SUBSCRIBE packet requesting topic filter subscriptions.
Fields§
§packet_id: PacketIdPacket identifier.
properties: &'a SubscribePropertiesSUBSCRIBE properties.
payload: &'a [u8]Raw payload bytes containing the subscription entries.
Use Subscribe::subscriptions to iterate.
Implementations§
§impl<'a> Subscribe<'a>
impl<'a> Subscribe<'a>
pub const fn new(
packet_id: PacketId,
properties: &'a SubscribeProperties,
payload: &'a [u8],
) -> Self
pub const fn new( packet_id: PacketId, properties: &'a SubscribeProperties, payload: &'a [u8], ) -> Self
Create a SUBSCRIBE packet from pre-encoded subscription payload bytes.
Use Writer to encode individual subscription
entries (topic filter string + options byte) into a buffer, then pass
the written slice as payload.
pub const fn subscriptions(&self) -> SubscriptionIter<'a> ⓘ
pub const fn subscriptions(&self) -> SubscriptionIter<'a> ⓘ
Iterate over the subscription entries in the payload.
pub const fn encoded_len(&self) -> usize
pub const fn encoded_len(&self) -> usize
Returns the encoded size of the variable header + payload in bytes.
pub const fn encode(&self, w: &mut Writer<'_>) -> Result<(), EncodeError>
pub const fn encode(&self, w: &mut Writer<'_>) -> Result<(), EncodeError>
Encodes the SUBSCRIBE variable header + payload into the writer.
§Errors
Returns EncodeError::InsufficientSpace if the writer does not have
enough capacity.
pub const fn decode(r: &mut Reader<'a>) -> Result<Self, DecodeError>
pub const fn decode(r: &mut Reader<'a>) -> Result<Self, DecodeError>
Decodes a SUBSCRIBE packet from the reader.
§Errors
Returns DecodeError if the data is malformed, the packet ID is
zero, or properties contain disallowed IDs.