A single-consumer single-producer queue on a block device


This package provides the following libraries (via dune):



  • Shared_block.EraseBlock
  • Shared_block.Journal
  • Shared_block.Ring A producer/consumer ring on top of a shared block device. The producer may push variable-sized items (if there is enough space) and the consumer may then pop the items. Items are pushed and popped atomically. There should be at-most-one producer and at-most-one consumer at any point in time. Since block devices have no built-in signalling mechanisms, it is up to the client to either poll for updates or implement another out-of-band signalling mechanism.
  • Shared_block.S

Dependencies: cstruct, duration, io-page, lwt, mirage-block, mirage-clock, mirage-time, result, rresult, sexplib, sexplib0, ppx_sexp_conv.runtime-lib