4 个版本

0.1.3 2024年5月25日
0.1.2 2024年3月16日
0.1.1 2024年3月16日
0.1.0 2024年3月16日

#897 in 解析器实现

Download history 132/week @ 2024-05-20 12/week @ 2024-05-27 1/week @ 2024-06-03 5/week @ 2024-06-10 4/week @ 2024-06-17

308 每月下载量

Apache-2.0

175KB
4.5K SLoC

MQTT v5 序列化和反序列化

这是一个低级别crate,具有组装和拆解MQTT 5数据包的能力,并由客户端和代理程序使用。内部使用 'bytes' crate

许可证: Apache-2.0

基于 rumqttc

用法

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);

特性

可配置的 MqttString 类型

  • default - 使用 String 作为 MqttString
  • boxed_string - 使用 Box<str> 作为 MqttString
  • binary_string - 使用 bytes::Bytes 作为 MqttString(比 String 快约20%)

许可证

本项目采用Apache许可证第2版发布(LICENSEhttps://apache.ac.cn/licenses/LICENSE-2.0

依赖项

~0.4–0.9MB
~20K SLoC