mqtt-bytes-v5

Crates.iomqtt-bytes-v5
lib.rsmqtt-bytes-v5
version0.1.3
sourcesrc
created_at2024-03-16 15:18:59.112702
updated_at2024-05-25 07:33:13.687075
descriptionMQTT v5 serialization and deserialization
homepagehttps://github.com/alfredotg/mqtt-bytes-v5
repositoryhttps://github.com/alfredotg/mqtt-bytes-v5
max_upload_size
id1175696
size188,420
Alofredo (alfredotg)

documentation

README

MQTT v5 serialization and deserialization

This is a low level crate with the ability to assemble and disassemble MQTT 5 packets and is used by both client and broker. Uses 'bytes' crate internally

License: Apache-2.0

Based on rumqttc

Usage

use bytes::BytesMut;
use mqtt_bytes_v5::{Packet, PubAck, PubAckReason, Error};

let mut buf: BytesMut = BytesMut::new();
let packet = Packet::PubAck(PubAck {
    pkid: 42,
    reason: PubAckReason::Success,
    properties: None,
});
let result: Result<usize, Error> = packet.write(&mut buf);
let result: Result<Packet, Error>  = Packet::read(&mut buf, None);

Features

Configurable MqttString type:

  • default - uses String for MqttString
  • boxed_string - uses Box<str> for MqttString
  • binary_string - uses bytes::Bytes for MqttString (about 20% faster than String)

License

This project is released under The Apache License, Version 2.0 (LICENSE or http://www.apache.org/licenses/LICENSE-2.0)

Commit count: 12

cargo fmt