This is high-level bindings for
zmq in asynchronous manner. Crate itself uses some modules from
async-std, but it should also work on any other async runtime. The goal for this project
is providing simple interface that is compatible with any async executor and reactor.
- [ ] PAIR
- [x] PUB
- [x] SUB
- [ ] REQ
- [ ] REP
- [ ] DEALER
- [ ] ROUTER
- [ ] PULL
- [ ] PUSH
- [ ] XPUB
- [ ] XSUB
- [ ] STREAM
Users could simply initialize any socket type with
async_zmq::* in mind, and then call
connect depends on your scenario. For example, if someone wants a publish socket,
then he could initialize the socket like this:
let zmq = async_zmq::publish("tcp://127.0.0.1:5555")?.bind();
To learn more about each socket type usage. See modules below.
Prelude module provides some common types, traits and their methods. This crate also re-export so it can be easier for you to import them.
Another common issue when people adopting a library is to deal with its error handling flow.
To prevent introducing more overhead,
async_zmq uses the exact same
zmq crate and re-export them.
DEALER socket module of Request-reply pattern in ZMQ
PAIR socket module of Exclusive pair pattern in ZMQ
The prelude re-exports most commonly used traits and macros from this crate.
PUB socket module of Pub-Sub pattern in ZMQ
PULL socket module of Pipeline pattern in ZMQ
PUSH socket module of Pipeline pattern in ZMQ
REP socket module of Request-reply pattern in ZMQ
REQ socket module of Request-request pattern in ZMQ
ROUTER socket module of Request-reply pattern in ZMQ
STREAM socket module of Pub-Sub pattern in ZMQ
SUB socket module of Pub-Sub pattern in ZMQ
XPUB socket module of Pub-Sub pattern in ZMQ
XSUB socket module of Pub-Sub pattern in ZMQ