embassy/embassy-sync
Ulf Lilleengen c0d91600ea rustfmt
2024-03-12 15:37:53 +01:00
..
src rustfmt 2024-03-12 15:37:53 +01:00
build.rs Remove nightly autodetects. 2024-01-10 18:32:14 +01:00
Cargo.toml Complete cargo.tomls more. 2024-01-12 00:32:47 +01:00
CHANGELOG.md embassy-sync 0.5 2023-12-04 13:10:41 +00:00
README.md Centralize license and MSRV boilerplate into the repo readme. 2024-01-11 18:18:35 +01:00

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 sifted 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 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.

Interoperability

Futures from this crate can run on any executor.