embassy/embassy-sync
Dario Nieuwenhuis 6a4ac5bd60 Add collapse_debuginfo to fmt.rs macros.
This makes location info in defmt logs point to the code calling the macro,
instead of always to fmt.rs as before. Fix works with nightlies
starting with today's, and stable 1.81+.
2024-06-17 01:38:57 +02:00
..
src Add collapse_debuginfo to fmt.rs macros. 2024-06-17 01:38:57 +02:00
build.rs Copy build_common.rs into each crate, to make cargo publish happy 2024-05-31 08:07:51 +02:00
build_common.rs Update stable to Rust 1.79. 2024-06-13 20:40:04 +02:00
Cargo.toml Prepare for embassy-sync 0.6.0 release 2024-05-29 12:09:55 +02:00
CHANGELOG.md remove duplicate entry 2024-05-29 12:38:33 +02:00
README.md fix typo 2024-03-30 22:36:30 +02: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 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 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.