#amqp-client #open #source #standard #connection #oasis #org

dove

Dove 是 AMQP 1.0 OASIS 标准的 Rust 开源实现 (http://www.amqp.org/)

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次 下载

Apache-2.0

230KB
5.5K SLoC

Build status crates.io

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