8个版本
使用旧Rust 2015
0.9.8 | 2017年8月2日 |
---|---|
0.9.7 | 2017年7月21日 |
0.9.5 | 2017年6月26日 |
#28 在 #zeromq
在 3 个crate中(通过 zmq-pw)使用
2MB
42K SLoC
包含 (神秘的autoconf代码,25KB) libzmq-pw/configure.ac
Rust ZeroMQ绑定。
安装
目前,rust-zmq需要ZeroMQ 3.2或更高版本。例如,在基于Debian的较新发行版中,可以使用以下命令来获取所需的头文件和库
apt install libzmq3-dev
如果您的操作系统没有提供足够新的libzmq包,您将首先需要从源代码中安装它;请参阅 https://github.com/zeromq/libzmq/releases.
rust-zmq使用 cargo 进行安装。用户应在他们的 Cargo.toml
文件中添加以下内容
[dependencies]
zmq = "0.8"
构建通常使用 pkg-config
来查找libzmq的位置。如果不可用,可以定义环境变量 LIBZMQ_PREFIX
(或替代地,LIBZMQ_LIB_DIR 和
LIBZMQ_INCLUDE_DIR
)以避免调用 pkg-config
。
用法
rust-zmq
是将C API直接移植到Rust的相当直接的方法
extern crate zmq;
fn main() {
let ctx = zmq::Context::new();
let mut socket = ctx.socket(zmq::REQ).unwrap();
socket.connect("tcp://127.0.0.1:1234").unwrap();
socket.send_str("hello world!", 0).unwrap();
}
您可以在 https://github.com/erickt/rust-zmq/tree/master/examples 中找到更多使用示例。
贡献
为贡献rust-zmq安装
% git clone https://github.com/erickt/rust-zmq
% cd rust-zmq
% cargo build
请注意,master
分支目前处于API破坏模式,我们正在尝试使API在 0.9
发布系列中更加简洁和灵活。
这意味着,不需要破坏API的pull请求(例如错误修复)应提交到 release/v0.8
分支。这也适用于新功能,如果它们可以以API兼容的方式进行实现,pull请求也应针对 release/v0.8
。请在开始编码之前提交一个关于缺少功能的issue,以便可以事先澄清合适的分支和其他潜在问题。
使用分支的原因,以及因此为所有相关方带来的一点点开销,是因为我们还没有弄清楚需要多长时间才能到达一个点,在 master
中,我们感到舒适将其作为 0.9.0 版本发布,我们希望到那时API的核心部分基本固定。使用 release/v0.8
分支,我们可以在其间交付修复bug和较小的功能,而无需强制用户遵循master的API变化,并不断地调整他们的代码以适应API的变化。