| Crates.io | sawtooth-zmq |
| lib.rs | sawtooth-zmq |
| version | 0.8.2-dev5 |
| created_at | 2018-11-02 16:52:35.56765+00 |
| updated_at | 2018-11-07 17:21:22.179208+00 |
| description | High-level bindings to the zeromq library |
| homepage | |
| repository | https://github.com/erickt/rust-zmq |
| max_upload_size | |
| id | 94350 |
| size | 144,233 |
Rust ZeroMQ bindings.
Currently, rust-zmq requires ZeroMQ 3.2 or newer. For example, on recent Debian-based distributions, you can use the following command to get the prerequiste headers and library installed:
apt install libzmq3-dev
If your OS of choice does not provide packages of a new-enough libzmq, you will first have to install it from source; see https://github.com/zeromq/libzmq/releases.
rust-zmq uses cargo to install. Users should add this to
their Cargo.toml file:
[dependencies]
zmq = "0.8"
Install for developers:
% git clone https://github.com/erickt/rust-zmq
% cd rust-zmq
% cargo build
The build normally uses pkg-config to find out about libzmq's
location. If that is not available, the environment variable
LIBZMQ_PREFIX (or alternatively, LIBZMQ_LIB_DIR and
LIBZMQ_INCLUDE_DIR) can be defined to avoid the invocation of
pkg-config.
rust-zmq is a pretty straight forward port of the C API into 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();
}
You can find more usage examples in https://github.com/erickt/rust-zmq/tree/master/examples.