network-transport-zeromq
network-transport-zeromq copied to clipboard
ZeroMQ transport for distributed-process (aka Cloud Haskell)
Cloud Haskell over ØMQ
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.
License
Copyright © 2014-2015 EURL Tweag.
All rights reserved.
network-transport-zeromq is free software, and may be redistributed under the terms specified in the LICENSE file.
About
HaskellR is maintained by Tweag I/O.
Have questions? Need help? Tweet at @tweagio.