1 个不稳定版本

使用旧的Rust 2015

0.9.0 2018年10月12日

#183#协议

MIT/Apache

84KB
1.5K 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请求(例如错误修复)应提交给release/v0.8分支。这也适用于新功能,如果它们可以以API兼容的方式进行实现,则pull请求也应针对release/v0.8在开始编码之前,请提交一个关于缺少功能的issue,以便事先明确合适的分支和其他潜在问题。

使用分支的原因,以及因此给所有相关人员带来的一点点开销,是因为我们还没有弄清楚到达一个我们感到可以发布为0.9.0的master分支点需要多长时间,我们希望到那时API的核心部分更加固定。使用release/v0.8分支,我们可以在其间提供错误修复和小型功能,而不必强迫用户遵循master的变更API,并不断调整代码以适应API的变化。

依赖项

~0.2–8.5MB
~64K SLoC