# Module Netplex_mbox

    module Netplex_mbox: sig .. end

Netplex message boxes

This plugin implements a message box, following a simple model: Receivers wait until messages are put into the box. Senders wait until the box is free again.

This is actually an extension of `Netplex_sharedvar`, and the same caveats apply.

    val plugin : Netplex_types.plugin

To enable message boxes, call the controller's `add_plugin` method with this object as argument. This can e.g. be done in the `post_add_hook` of the processor.

How to use this module:

- Encapsulate the type of the messages:

       module Msg_type = struct type t = <some_type> end

- Create the box module for this type:

       module Mbox_type = Netplex_mbox.Make_mbox_type(Msg_type)

- Call functions of this module, e.g.

      let box = Mbox_type.create "my_box"
      let msg = Mbox_type.receive box

    module type MBOX = sig .. end

The type of mailboxes `mbox` with messages of type `t`

    module Make_mbox_type: functor (T : Netplex_cenv.TYPE) -> MBOX  with type t = T.t

Create a new mailbox access module for message type `T.t`