package zmq

  1. Overview
  2. Docs

This functor is meant to be as compatible as possible with lwt-zmq. It should be straight forward to write a functor over Async_zmq.Socket and Lwt_zmq.Socket.

The functor allows abstraction of the concurrency monad

Parameters

module T : Deferred.T

Signature

type 'a t

An concurrent zeromq socket

val of_socket : 'a Zmq.Socket.t -> 'a t

of_socket s wraps the zeromq socket s

val to_socket : 'a t -> 'a Zmq.Socket.t

to_socket s extracts the raw zeromq socket from s

val to_string_hum : 'a t -> string

Internal statisitcs of the socket

val recv : 'a t -> string T.Deferred.t

recv socket waits for a message on socket without blocking other concurrent threads

val send : 'a t -> string -> unit T.Deferred.t

send socket sends a message on socket without blocking other concurrent threads

val recv_all : 'a t -> string list T.Deferred.t

recv_all socket waits for a multi-part message on socket without blocking other concurrent threads

val send_all : 'a t -> string list -> unit T.Deferred.t

send_all socket m sends all parts of the multi-part message m on socket without blocking other concurrent threads

val recv_msg : 'a t -> Zmq.Msg.t T.Deferred.t

recv_msg socket waits for a message on socket without blocking other concurrent threads

val send_msg : 'a t -> Zmq.Msg.t -> unit T.Deferred.t

send_msg socket sends a message on socket without blocking other concurrent threads

val recv_msg_all : 'a t -> Zmq.Msg.t list T.Deferred.t

recv_msg_all socket waits for a multi-part message on socket without blocking other concurrent threads

val send_msg_all : 'a t -> Zmq.Msg.t list -> unit T.Deferred.t

send_msg_all socket m sends all parts of the multi-part message m on socket without blocking other concurrent threads

val close : 'a t -> unit T.Deferred.t
module Router : sig ... end
module Monitor : sig ... end