patterns-0.1.0: Common patterns in message-oriented applications

Safe HaskellNone




Basic communication patterns


Basic communication patterns

The Basic module provides the basic communication patterns defined in the zeromq library. The Basic module is just a convenience reexport of the single modules containing the patterns. The basic functionality is split into small modules, since usually one application module will only need one side of a communication pattern. For the case, an application needs several patterns at the same location, the basic module eases life providing a single import for all patterns.

Client Server

Clients request a service from a server. When a server receives a client request, it sends a response to this client. This implies that clients have to start the communication by sending a request. Usually, many clients connect to one server.

Pub Sub

Publishers issue data under some topic, to which interested parties can subscribe. Subscribers do not need to request data explicitly, they receive the newest updates when available, once they have subscribed to the topic. Usually, many subscribers connect to one publisher.


Pushers and pullers form a pipeline to send work packages downstream; pushers can only send data, which represent the work to be done, pullers can only receive data. Usually, the pusher binds the address, to which many pullers connect.