Skip to content

Sequester 0.0.1

Choose a tag to compare

@bigeasy bigeasy released this 14 Jul 02:51
· 146 commits to master since this release

28th Stop
28th Stop by Moriza.

Sequester Announce

Sequester is a writer preferred read/write lock for concurrent evented operations. I've extracted it from Strata where it's used to guard the b-tree pages.

This read/write lock allows many different "threads" of execution to use a resource in parallel, but when it is time to write, all readers will wait on a single writing "thread." The writing "thread" will wait until all outstanding readers release their lock before it writes.

This minimal concurrency primitive can be used implement standard semaphores if you only ever call exclude, read/write locks, and latches if you start of holding exclude.

Installing Sequester 0.0.1

npm install sequester

Issue By Issue

  • Test that exclusive locks block shared locks. #10.
  • Test that shared locks block exclusive locks. #9.
  • Track the minzipped size of the lock using t/sizes. #8.
  • Import shared/exclusive lock from Strata. #7.
  • Build on Travis CI. #4.
  • Initialize project. #2.