embassy/embassy-sync
Ulf Lilleengen 042abc805a feat: add support for channel peek
Add support for peeking into the front of the channel if the value
implements Clone. This can be useful in single-receiver situations where
you don't want to remove the item from the queue until you've
successfully processed it.
2025-05-28 11:34:57 +02:00
..
2025-05-28 11:34:57 +02:00
2025-05-22 13:29:55 +08:00
2025-05-22 13:29:55 +08:00
2025-04-26 20:11:25 +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.
  • 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 access

Interoperability

Futures from this crate can run on any executor.