bolt 0.1.0

The package provides a hierarchical read-write lock.
Documentation

Bolt Package Documentation Build

The package provides a hierarchical read-write lock.

Usage

Given a hierarchical path defined as a sequence of progressively nested segments separated by slashes—as in a/b/c where c is nested in a and b and b in a—the locking mechanism ensures that

  • each writer is given access to a segment only when the segment is not currently being read from or written into and is not nested in a segment that is currently being written into, and that

  • each reader is given access to a segment only when the segment is not currently being written into and is not nested in a segment that is currently being written into.

For instance, one can concurrently write into a/b/c and a/b/d and read from a and a/b. However, reading from or writing into a/b/c or a/b/d would have to wait for a/b if the last was acquired for writing, but one would be able to read from a.

Contribution

Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.md.