Module Communication.Distributed_wrapperSource

Wrapper for the Distributed library. The new API is designed for the distribution of protocols based on a 1 master N workers architecture, in which at each step of the protocol:

Instead of directly using the send and receive, the new API provides two abstractions, `dmap` and `handle_request`, to implement this interaction from the master and worker respectively. These abstractions will enforce via the type-system that the request and reply used correspond to the same protocol step.

Sourcemodule Logger : sig ... end
Sourcemodule type Enriched_message_type = sig ... end

Messages are refined into either a request or a reply. Both these types are parameterized by their protocol step. The ground type of messages (t) is enforced to be bytes, to avoid relying on the Marshalling performed by the Distributed library.

Sourcemodule type Enriched_process = sig ... end
Sourcemodule Make (A : Enriched_message_type) : Enriched_process with type message_type = A.t and type M.t = A.t and type 'a M.step = 'a A.step and type 'a M.request = 'a A.request and type 'a M.reply = 'a A.reply and type 'a io = 'a Lwt.t