package shared-block-ring

All checked builds pass
  1. Overview
  2. Docs
A single-consumer single-producer queue on a block device

Install

dune-project
 Dependency

Authors

Maintainers

Sources

shared-block-ring-3.0.1.tbz
sha256=cf2ad61fbbf598f2aa6cb85fbea2e554a0a1fdaaadb0c8161eccbaa1910f3b83
sha512=274c9edaf7cc9bec72afd50f366bdc7287e354485649b5c29a9c4441356e222592573b31e2b5e3e28d98253d6303a77b8c353a3345d2664e5795ae35075f9b9c

Description

This is a simple queue containing variable-length items stored on a disk, in the style of Xen shared-memory-ring.

Tags

org:mirage org:xapi-project

Added to opam-repository:

README

shared-block-ring

Build Status Coverage Status

A simple on-disk fixed length queue in the style of the Xen shared-memory-ring. In particular the producer and consumer APIs allow clients to control exactly when data is exposed to the consumer and removed from the queue.

Example usage

First create a "block device"-- any file will do:

dd if=/dev/zero of=test.raw bs=10240 count=1

Then initialise the ring in the file:

./main.native create

Then start two shells, in one run:

./main.native produce

and in the other

./main.native consume

The producer takes input from stdin and puts it onto the ring, and the consumer takes entries from the ring and prints them to stdout.

Dev Dependencies (3)

  1. ounit2 with-test
  2. mirage-clock-unix with-test
  3. bisect_ppx dev & >= "2.5.0"

Optional Dependencies

None

Used by

None

Conflicts

None

Build status

Results of building shared-block-ring with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
3.0.1 (this version) good good good good good
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure