9个版本

0.4.0 2024年6月3日
0.3.5 2024年1月15日
0.3.4 2023年11月1日
0.3.3 2021年12月27日
0.1.0-pre2014年12月18日

#86网络编程

Download history 1698/week @ 2024-05-02 1963/week @ 2024-05-09 2082/week @ 2024-05-16 1572/week @ 2024-05-23 1795/week @ 2024-05-30 1537/week @ 2024-06-06 3285/week @ 2024-06-13 5007/week @ 2024-06-20 4462/week @ 2024-06-27 5027/week @ 2024-07-04 6210/week @ 2024-07-11 3992/week @ 2024-07-18 4110/week @ 2024-07-25 4213/week @ 2024-08-01 3289/week @ 2024-08-08 2625/week @ 2024-08-15

每月 14,826 次下载
0crates (直接) 中使用

MIT 许可证

140KB
SLoC 3.5K

zmq.rs - ZeroMQ的本地Rust实现

免责声明:此代码库并未实现ZeroMQ的全部功能集。

ZeroMQ是一个高性能的异步消息库,为多种传输类型提供了许多流行的消息模式。它们看起来和感觉就像伯克利风格的套接字,但具有容错能力且更容易使用。本项目旨在提供对参考实现的本地Rust替代方案,并利用Rust的异步生态系统。

当前状态

基本的ZMTP实现正在运行且已通过参考实现测试。

支持的传输类型

  • TCP
  • IPC(仅限Unix)

支持的套接字模式

  • 请求/响应(REQ, REP, DEALER, ROUTER)
  • 发布/订阅(PUB, SUB)
  • 管道(PUSH, PULL)

使用方法

请参阅示例了解快速启动的一些方法。您也可以通过在源代码上执行cargo doc --open来生成文档。

选择您的异步运行时

当前项目支持通过功能标志控制的 tokioasync-stdasync-dispatcher。默认使用 tokio。如果您想使用 async-std,您需要禁用默认功能,然后选择 async-std-runtime 功能。例如,在您的 Cargo.toml 文件中,您可以按如下方式指定依赖项:

zeromq = { version = "*", default-features = false, features = ["async-std-runtime", "all-transport"] }

有关功能标志的更多信息,请参阅相关章节。

功能标志

功能标志提供了一种自定义此库提供的功能的方式。有关更多信息,请参阅 Cargo 指南

功能

  • (默认) tokio-runtime:使用 tokio 作为异步运行时。
  • async-std-runtime:使用 async-std 作为异步运行时。
  • async-dispatcher-runtime:使用 async-dispatcher 作为异步运行时。
  • (默认) all-transport:启用所有 *-transport 标志
  • ipc-transport:启用 IPC 作为传输机制
  • tcp-transport:启用 TCP 作为传输机制

贡献

欢迎贡献!请查看我们的问题跟踪器以了解我们需要帮助的事项。

问题

您可以在我们的 Discord 频道中提问 - https://discord.gg/pFXSqWtjQT

依赖项

~6–18MB
~247K SLoC