5 个不稳定版本
0.3.0 | 2023年8月23日 |
---|---|
0.2.0 | 2021年9月9日 |
0.1.2 | 2021年2月20日 |
0.1.1 | 2020年12月4日 |
0.1.0 | 2020年12月4日 |
#1448 在 网络编程 中
每月47次 下载
230KB
5.5K SLoC
Dove - Rust AMQP 1.0 库
Dove 是 AMQP 1.0 OASIS 标准的 Rust 开源实现 (http://www.amqp.org/)。高级消息队列协议 (AMQP) 是一种开放标准,用于在应用程序或组织之间传递业务消息。它连接系统,为业务流程提供所需的信息,并可靠地传输实现目标的指令。
Dove 旨在成为具有以下特性的 AMQP 1.0 实现
- 低内存占用 - 高效的内存使用,仅为您使用的功能付费。
- 可移植 - 最小化依赖项数量并使用可移植的 API。
目前库只支持基本功能:建立连接、创建会话、链接以及发送和接收消息。大多数 AMQP 1.0 类型已实现,并且存在许多 Rust 原生类型的转换。支持 SASL ANONYMOUS 和 PLAIN。
Dove 提供了两个不同的 API
- 用于使用异步 Rust 编写消息应用的 API。
- 一个低级连接 API,允许您发送和接收定义为 Rust 类型的帧。
示例
客户端示例可以在 examples/ 目录中找到。您可以像这样运行它们
cargo run --example send amqp://127.0.0.1:5672/myqueue "Hello, World"
cargo run --example receive amqp://127.0.0.1:5672/myqueue
构建
cargo build
测试
测试使用 testcontainers-rs,它需要 Docker 来运行
RUST_LOG=info cargo test
支持的功能
- 用于创建连接、会话和链接的异步-等待 API。
- AMQP 1.0 类型系统的大部分,但可能还有一些尚未测试的边缘情况。
- SASL ANONYMOUS 和 PLAIN
- 已与 Apache ActiveMQ Artemis、Apache Qpid Dispatch Router 和 Apache Qpid Broker J 进行测试。
不支持的功能
请参阅 待办事项问题 以获取尚未实现的功能列表。
模块
- 类型 - 带编码和解码功能的 AMQP 类型系统
- frame_codec - AMQP 帧编解码工具
- 转换 - Rust 类型与 AMQP 类型的转换
- 编码 - AMQP 类型编码
- 解码 - AMQP 类型解码
- 错误 - AMQP 错误类型和错误处理数据类型
- framing - 帧类型和帧编码/解码的 API
- transport - 基础传输/网络的 API
- message - 消息操作的 API
- sasl - SASL 处理
- conn - 在连接上发送和接收帧的低级别 API
- driver - 处理大部分控制逻辑的功能
- container - 用于编写应用程序的 API
- url - 处理 AMQP URL 的工具
依赖
~2–12MB
~87K SLoC