7个版本

使用旧的Rust 2015

0.9.8 2017年8月2日
0.9.7 2017年7月21日
0.9.5 2017年6月26日

#23 in #zeromq


2 个crate中使用

MIT/Apache

63KB
1K SLoC

Rust ZeroMQ绑定。

Travis Build Status Appveyor Build status Coverage Status Apache 2.0 licensed MIT licensed docs

文档

发行说明

安装

目前,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_DIRLIBZMQ_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 requests(例如,错误修复)应提交给release/v0.8分支。这也适用于新功能,如果它们可以通过与API兼容的方式实现,pull request也应旨在针对release/v0.8。在开始编码之前,请提交一个issue来报告缺少的功能,以便可以事先澄清合适的分支和其他潜在问题。

使用分支的原因,以及因此给所有相关方带来的一点点开销,是因为我们还没有弄清楚需要多长时间才能到达一个让我们感到舒适的、可以发布为0.9.0的master分支中的点,因为我们希望那时的API核心部分更加稳定。通过使用release/v0.8分支,我们可以在其间交付错误修复和较小的功能,而无需强制用户跟随master分支的API变化,并不断调整他们的代码以适应API更改。

依赖项

~0.3–9MB
~68K SLoC