Crates.io | embassy-sync |
lib.rs | embassy-sync |
version | 0.6.1 |
source | src |
created_at | 2022-09-18 16:41:06.641958 |
updated_at | 2024-11-22 20:16:36.653388 |
description | no-std, no-alloc synchronization primitives with async support |
homepage | |
repository | https://github.com/embassy-rs/embassy |
max_upload_size | |
id | 668702 |
size | 243,302 |
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
- A variant of WakerRegistration
accessible using a non-mut API.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.