rawlock: A writer-biased RAW lock.

[ apache, concurrency, library ] [ Propose Tags ] [ Report a vulnerability ]

A writer-biased RAW lock.

It allows for multiple readers to run concurrently with at most one appender, or a single writer running on isolation.

The code is safe in the presence of async exceptions, meaning that each actor will cleanup after itself if an exception is received.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.1.0
Change log CHANGELOG.md
Dependencies base (>=4.14 && <4.21), io-classes (>=1.5 && <1.6), nothunks (>=0.2 && <0.3), strict-mvar (>=1.5 && <1.6), strict-stm (>=1.5 && <1.6) [details]
Tested with ghc ==8.10 || ==9.2 || ==9.4 || ==9.6 || ==9.8 || ==9.10
License Apache-2.0[multiple license files]
Copyright 2024 INTERSECT
Author IOG Engineering Team
Maintainer operations@iohk.io
Category Concurrency
Bug tracker https://github.com/IntersectMBO/io-classes-extra/issues
Source repo head: git clone https://github.com/IntersectMBO/io-classes-extra(rawlock)
this: git clone https://github.com/IntersectMBO/io-classes-extra(tag rawlock-0.1.0.0)(rawlock)
Uploaded by IOHK at 2024-10-22T14:25:13Z
Distributions
Downloads 51 total (38 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for rawlock-0.1.0.0

[back to package description]

RAWLock

A writer-biased RAW lock.

It allows for multiple readers to run concurrently with at most one appender, or a single writer running on isolation.

The code is safe in the presence of async exceptions, meaning that each actor will cleanup after itself if an exception is received.

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

Before contributing, please ensure that:

  • Code is well-documented
  • Tests are written for new features or bug fixes

License

This project is licensed under the terms of the Apache 2.0 license.