network-transport-zeromq icon indicating copy to clipboard operation
network-transport-zeromq copied to clipboard

ZeroMQ transport for distributed-process (aka Cloud Haskell)

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.

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

Tweag I/O

HaskellR is maintained by Tweag I/O.

Have questions? Need help? Tweet at @tweagio.