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 解析器实现
308 每月下载量
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
作为 MqttStringboxed_string
- 使用Box<str>
作为 MqttStringbinary_string
- 使用bytes::Bytes
作为 MqttString(比String
快约20%)
许可证
本项目采用Apache许可证第2版发布(LICENSE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
依赖项
~0.4–0.9MB
~20K SLoC