package shared-block-ring

  1. Overview
  2. Docs

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.

module Make (Log : S.LOG) (B : S.BLOCK) (Item : S.CSTRUCTABLE) : sig ... end