Realtime safe, waitfree, concurrency library
1# Simple left right
2
3Simpler Version of [left-right](https://crates.io/crates/left-right), which only allows one reader.
4Also allows real-time safe read operations and is designed for this use-case.
5
6## Testing
7This library is tested both with miri and cargo-mutants. Some tests are disabled for miri as they
8leak memory or block on unlucky thread scheduling. They can be run by ignoring leaks or choosing a
9threading seed that doesn't lock itself.
10
11cargo-mutants currently has one mutation that isn't caught by the tests, because it changes a bitwise
12operation to one that has the same result on the possible inputs. It also produces a couple of timeouts,
13as the write locking spins forever.
14
15PRs should keep this state as much as possible.
16
17## std::mem::forget
18Forgetting a Read/Write guard could lead to UB, so i detect that and panic if it happens. In order to make
19the detection cheap it doesn't differentiate between cases where a forget would lead to UB and cases where
20it doesn't. Just don't forget the guards and it won't panic.
21
22## Git
23This project is hosted on [tangled](https://tangled.org/did:plc:54jgbo4psy24qu2bk4njtpc4/simple-left-right/),
24[github](https://github.com/luca3s/simple-left-right) and [codeberg](https://codeberg.org/increasing/simple-left-right).
25You can create issues and PRs on any platform you like.