aboutsummaryrefslogtreecommitdiff
path: root/embassy-sync
diff options
context:
space:
mode:
authorUlf Lilleengen <[email protected]>2022-08-23 13:54:40 +0200
committerUlf Lilleengen <[email protected]>2022-08-23 13:54:40 +0200
commit06011f67b277427531398e64030366886cc2d260 (patch)
tree2b82b87f38678e9d4e8d3cf3d3f2095b82828f80 /embassy-sync
parent7b97e52886d584347e15fa2c8b651b79180256fc (diff)
Add README for embassy-sync
Diffstat (limited to 'embassy-sync')
-rw-r--r--embassy-sync/README.md12
-rw-r--r--embassy-sync/src/lib.rs2
2 files changed, 13 insertions, 1 deletions
diff --git a/embassy-sync/README.md b/embassy-sync/README.md
new file mode 100644
index 000000000..106295c0d
--- /dev/null
+++ b/embassy-sync/README.md
@@ -0,0 +1,12 @@
1# embassy-sync
2
3Synchronization primitives and data structures with an async API:
4
5- [`Channel`](channel::Channel) - A Multiple Producer Multiple Consumer (MPMC) channel. Each message is only received by a single consumer.
6- [`PubSubChannel`](pubsub::PubSubChannel) - A broadcast channel (publish-subscribe) channel. Each message is received by all consumers.
7- [`Signal`](signal::Signal) - Signalling latest value to a single consumer.
8- [`Mutex`](mutex::Mutex) - A Mutex for synchronizing state between asynchronous tasks.
9- [`Pipe`](pipe::Pipe) - Byte stream implementing `embedded_io` traits.
10- [`WakerRegistration`](waitqueue::WakerRegistration) - Utility to register and wake a `Waker`.
11- [`AtomicWaker`](waitqueue::AtomicWaker) - A variant of `WakerRegistration` accessible using a non-mut API.
12- [`MultiWakerRegistration`](waitqueue::MultiWakerRegistration) - Utility registering and waking multiple `Waker`'s.
diff --git a/embassy-sync/src/lib.rs b/embassy-sync/src/lib.rs
index 8e81e5cbe..25150e8aa 100644
--- a/embassy-sync/src/lib.rs
+++ b/embassy-sync/src/lib.rs
@@ -1,7 +1,7 @@
1#![cfg_attr(not(any(feature = "std", feature = "wasm")), no_std)] 1#![cfg_attr(not(any(feature = "std", feature = "wasm")), no_std)]
2#![cfg_attr(feature = "nightly", feature(generic_associated_types, type_alias_impl_trait))] 2#![cfg_attr(feature = "nightly", feature(generic_associated_types, type_alias_impl_trait))]
3#![allow(clippy::new_without_default)] 3#![allow(clippy::new_without_default)]
4#![doc = include_str!("../../README.md")] 4#![doc = include_str!("../README.md")]
5#![warn(missing_docs)] 5#![warn(missing_docs)]
6 6
7// This mod MUST go first, so that the others see its macros. 7// This mod MUST go first, so that the others see its macros.