7 releases (breaking)
0.6.0 | May 29, 2024 |
---|---|
0.5.0 | Dec 4, 2023 |
0.4.0 | Oct 31, 2023 |
0.3.0 | Sep 14, 2023 |
0.0.0 | Sep 18, 2022 |
#55 in Embedded development
83,650 downloads per month
Used in 128 crates
(77 directly)
190KB
4.5K
SLoC
embassy-sync
An Embassy project.
Synchronization primitives and data structures with async support:
Channel
- A Multiple Producer Multiple Consumer (MPMC) channel. Each message is only received by a single consumer.PriorityChannel
- A Multiple Producer Multiple Consumer (MPMC) channel. Each message is only received by a single consumer. Higher priority items are shifted to the front of the channel.PubSubChannel
- A broadcast channel (publish-subscribe) channel. Each message is received by all consumers.Signal
- Signalling latest value to a single consumer.Mutex
- Mutex for synchronizing state between asynchronous tasks.Pipe
- Byte stream implementingembedded_io
traits.WakerRegistration
- Utility to register and wake aWaker
.AtomicWaker
- A variant ofWakerRegistration
accessible using a non-mut API.MultiWakerRegistration
- Utility registering and waking multipleWaker
's.
Interoperability
Futures from this crate can run on any executor.
Dependencies
~1–1.4MB
~28K SLoC