/network-transport-zeromq

ZeroMQ transport for distributed-process

Primary LanguageHaskellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Cloud Haskell over ØMQ

Hackage package Build Status

network-transport backend based on the ØMQ brokerless protocol. This implementation makes it possible to access the wealth of ØMQ transports through a simple and shared API. In particular, ØMQ supports authenticated communication channels, encryption, efficient multicast and throughput enhancement techniques such as message batching.

Wrapping a subset of the ØMQ API behind the network-transport API makes it possible for a wealth of higher-level libraries such as distributed-process and HdpH to communicate over ØMQ seamlessly, with little to no modification necessary.

Features

Plain text authorization

It's possible to set a default username and password for all transport connections by setting authorization ZMQParameters

defaultZMQParameters{ authorizationType = ZMQAuthPlain "user" "password" }

Reliable connections

n-t-zmq uses the Push-Pull pattern to implement reliable connections.

Multicast protocol

network-transport-zeromq provides multicast group-based communication with the Pub-Sub protocol. This protocol is semi-reliable, in that if the high water mark (HWM) is reached then some messages may be lost.

Stability

Experimental.

Currently all tests from network-transport-tests are passing. All tests from distributed-process-tests are also passing, except monitoring and connection failure tests.

Credits

Tweag I/O

network-transport-zeromq is maintained and funded by Tweag I/O.

The names and logos for Tweag I/O are trademarks of EURL Tweag.

Got questions? Need help? Tweet at @tweagio.

License

network-transport-zeromq is Copyright © 2014 EURL Tweag. It is free software, and may be redistributed under the terms specified in the LICENSE file.