3个不稳定版本

0.2.2 2022年2月3日
0.2.1 2022年2月3日
0.1.1 2022年1月29日
0.1.0 2022年1月28日

#35 in #valid

MIT许可证

125KB
2.5K SLoC

Mqtt消息解码/编码库

这是一个用于创建mqtt客户端或mqtt代理的库。尽可能多的东西都被编码在类型系统中,例如。

  • 数据包有自己的类型,除了PUBCOMP/PUBREC/PUBREL/PUBACK,因为它们本质上相同
  • 原因代码是枚举类型,因此无法使用无效的原因代码构建数据包
  • 为每个单独的数据包类型定义了属性,因此只能将有效的属性代码写入数据包

支持:MQTTv3和MQTTv5

这些版本的消息应可以使用此库进行解码/编码。

目前已实现并测试的功能

编码 解码 数据包类型
连接
Connack
发布
Puback
Pubrec
Pubrel
Pubcomp
订阅
Suback
取消订阅
Unsuback
Pingreq
Pingresp
断开连接
认证

然而,某些东西仍然需要添加/改进
  • 更好的命令构建API?
  • 仅公开必要的代码
  • 支持最大数据包大小(MQTTv5)。如果某些属性会使数据包“膨胀”,则不应发送这些属性
  • 确保所有属性在其类型中具有正确的可选项设置
  • 添加一些模糊测试以防止不希望的panic!调用
  • 改进文档

依赖项

~180KB