-
Notifications
You must be signed in to change notification settings - Fork 85
Open
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
Description
Overview
A tool library that provides optionally synchronous primitives.
Referenece:
- https://github.com/compio-rs/compio/blob/master/compio-driver/src/fd/mod.rs
- https://github.com/compio-rs/compio/blob/master/compio-io/src/util/bilock.rs
- https://github.com/compio-rs/see
- https://docs.rs/async-notify/latest/async_notify/
What should be included (sync/unsync):
- Arc/Rc
- Mutex/RefCell
- Atomic/Cell
- Notify
- Maybe channels
Design questions
How to expose sync/unsync version?
Should:
- sync and unsync both be exposed and let user to decide which to use, or
- provide a feature gate to expose either sync/unsync and let user control the feature gate, or
- do both, with sync/unsync be unconditionally exported in sub modules, and optional feature gates (like
sync/unsync) so that a "default" implementation is exported
Should sync versions be swappable?
For example, let user to chose between future's async mutex and tokio's mutex?
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed