Module Tjr_mem_queue

In-memory message queue between eg Lwt threads

module Memq_intf : sig ... end

Mem_queue interfaces; don't open

type ('msg, 't) memq_as_obj = ('msg't) Memq_intf.memq_as_obj
module Raw_memq : sig ... end
module With_lwt : sig ... end

Lwt version; since lwt mutexes and cvars can be created outside the monad, we can create the queues outside the monad