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-pre | 2014年12月18日 |
#86 在 网络编程
每月 14,826 次下载
在 0 个crates (直接) 中使用
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
来生成文档。
选择您的异步运行时
当前项目支持通过功能标志控制的 tokio
、async-std
和 async-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