58 个版本
0.17.0 | 2024 年 7 月 23 日 |
---|---|
0.16.1 | 2024 年 3 月 28 日 |
0.15.0 | 2024 年 2 月 29 日 |
0.14.1 | 2023 年 11 月 20 日 |
0.2.0 | 2018 年 12 月 31 日 |
#193 in 网络编程
每月 189 次下载
355KB
7.5K SLoC
rusp
rusp 是由 Axiros 提供的 Rust USP 工具包!
Rust 是一种快速且安全的系统编程语言。
USP(或用户服务平台)是一种用于连接设备管理的新协议,由 宽带论坛 维护和开发。
Axiros 是一家领先的设备管理公司。
什么是 rusp?
rusp 是一个工具包,用 Rust 编写,提供对使用 Protobuf 字节流编码的 USP 记录和消息的支持。
虽然存在一个 Protobuf 架构,它允许为几种常用的编程语言生成绑定,但这些绑定要么难以使用,要么非常不安全。通过利用 Rust 强大的类型系统和严格的编译器,Rust 能够在编译时检测到许多不正确或不完整的 Protobuf 编码使用,从而允许对 USP 协议有信心地使用。
包含什么?
该工具包包括
- 生成的低级 Rust Protobuf 绑定
- 一个库,提供
- 对反序列化和序列化功能的更高级访问
- 生成消息的便捷函数
- 与原生 Msg 类型一起工作的便捷函数
- USP 记录和消息的格式化打印
- USP 记录和消息的 Serde 反序列化和序列化
- 单元测试和文档(包括文档测试/示例)
- 一个 rusp 二进制文件,通过命令行提供对库功能的访问。目前包含的功能有
- 从标准输入解码 USP Msg Protobuf 字节流
- 从文件解码 USP Msg Protobuf 字节流
- 从标准输入解码 USP Record Protobuf 字节流
- 从文件解码 USP Record Protobuf 字节流
- 从 USP Record Protobuf 字节流的负载中提取 USP Msg Protobuf 字节流
- 为选定的消息和错误生成 USP Msg Protobuf 字节流和 C 字符数组
如何使用它?
rusp 二进制文件
rusp 包含了一个同名的二进制文件,展示了其一些用法。
目前,这主要允许将封装在 Protobuf 中的 USP Record 和 Msg 结构转换为可读文本。它还允许从 Record 中提取 Msg 结构,以便于自己的实现,以及将 USP 编码。
- 添加
- 删除
- 错误
- 获取
- 获取实例
- 获取响应
- 获取支持的DM
- 获取支持的协议
- 通知
- 通知响应
- 操作
- 设置
通过命令行工具发送消息。
最新消息:0.17 版本增加了对 USP 1.4 的基本支持(API 兼容性破坏,因此版本号增加)
为了下载、编译和安装 rusp
二进制文件,只需要一个稳定的 Rust 环境,并运行
# cargo install rusp
之后,你应该可以使用内置所有命令帮助的 rusp
二进制文件。
rusp 库
rusp 也可以用作你自己的 Rust 应用程序中的库。要使用 rusp 作为库,你只需将 rusp 和很可能是 quick-protobuf 包添加到你的 Cargo.toml
中作为依赖项
...
[dependencies]
rusp = "0.17"
quick-protobuf = "0.8"
...
有关其使用的文档和示例可以在 docs.rs 上找到。
还有其他什么吗?
你可以在 BSD 3-Clause 许可证 下自由使用此包。
该工具箱的功能还远未完善,但已经在我们的产品开发中发挥了重要作用,并有助于发现标准中的一处或几处差异。
如果你喜欢,请随意传播信息或给我们留言。我们非常欢迎对这个包的合作,以及拉取请求!
联系我们
如果你需要用于 USP 管理软件(代理、控制器或测试)的软件或专业知识,请通过我们的 网页表单 与我们联系。我们也乐于解决所有其他设备管理和监控需求!
许可证
依赖项
~1.9–3MB
~56K SLoC