| Crates.io | embassy-sync |
| lib.rs | embassy-sync |
| version | 0.7.2 |
| created_at | 2022-09-18 16:41:06.641958+00 |
| updated_at | 2025-08-27 17:00:48.882991+00 |
| description | no-std, no-alloc synchronization primitives with async support |
| homepage | |
| repository | https://github.com/embassy-rs/embassy |
| max_upload_size | |
| id | 668702 |
| size | 298,102 |
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.Watch - Signalling latest value to multiple consumers.Mutex - Mutex for synchronizing state between asynchronous tasks.Pipe - Byte stream implementing embedded_io traits.WakerRegistration - Utility to register and wake a Waker.AtomicWaker - Utility to register and wake a Waker from interrupt context.MultiWakerRegistration - Utility registering and waking multiple Waker's.LazyLock - A value which is initialized on the first accessFutures from this crate can run on any executor.