1 个不稳定版本
使用旧的Rust 2015
0.9.0 | 2018年10月12日 |
---|
#183 在 #协议
84KB
1.5K SLoC
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,以便事先明确合适的分支和其他潜在问题。
使用分支的原因,以及因此给所有相关人员带来的一点点开销,是因为我们还没有弄清楚到达一个我们感到可以发布为0.9.0的master
分支点需要多长时间,我们希望到那时API的核心部分更加固定。使用release/v0.8
分支,我们可以在其间提供错误修复和小型功能,而不必强迫用户遵循master的变更API,并不断调整代码以适应API的变化。
依赖项
~0.2–8.5MB
~64K SLoC