lisp-zmq is a Common Lisp binding for the zeromq messaging library.
I started using zmq with the cl-zmq binding, and built m2cl with it. Yaroslav Shirokov and I wrote patches for cl-zmq, but I personally wasn’t fully satisfied with some aspects of the binding, so I wrote a new one.
lisp-zmq was successfully tested on Linux 32 bit and 64 bit, with zeromq 2.2.0 and SBCL 1.1.0.
If you test it on another platform, don’t hesitate to tell me whether it works or not, I’ll be happy to update this page.
lisp-zmq uses CFFI and Bordeaux Threads
with-socket-locked macro.device, and lock the sockets involved.socket-fd and socket-events.getsockopt (bug found by Luke Hope).poll-item-fd.do-poll-items to avoid infinite loop (thanks to Yaroslav Shirokov).poll-item-socket to get the socket of a poll item (thanks to Yaroslav Shirokov).poll.The development version of lisp-zmq is currently available on Github.
Stable versions are available as tarballs:
lisp-zmq-1.4.1.tgz (md5 6805fa6c8a0588f12ee6e017089e7203).
lisp-zmq-1.4.0.tgz (md5 f79deb5de522639d05881ac14800163a).
lisp-zmq-1.3.1.tgz (md5 baceb1ddec0fe5c83bfcdfcb9f45d674).
lisp-zmq-1.3.0.tgz (md5 877813d42d650c7cdfdd3cde6456a29a).
lisp-zmq-1.2.0.tgz (md5 18e57de21bf9b489dae3082aaf422ae3).
lisp-zmq-1.1.0.tgz (md5 799033f951523b4467de7a3706947141).
lisp-zmq-1.0.0.tgz (md5 7329f746745c49af0ddd4597aa6522d6).
The test suite is available in the zmq-test package. It can be run directly with asdf:test-system:
(asdf:test-system :zmq)
The performance evaluation programs released with zeromq have been implemented with lisp-zmq and are available in the zmq-examples package.