Commit Graph

150 Commits

Author SHA1 Message Date
Oliver Rockstedt
2704ac3d28 Add capacity, free_capacity, clear, len, is_empty and is_full functions to priority_channel::{Sender, Receiver} 2024-10-07 17:35:11 +02:00
Oliver Rockstedt
07748131dd embassy-sync: fixed link to priority_channel in README 2024-10-07 17:24:56 +02:00
Oliver Rockstedt
e3fd33d372 Minor changelog fix 2024-10-07 13:41:15 +02:00
Oliver Rockstedt
baef775f6b Add capacity, free_capacity, clear, len, is_empty and is_full functions to Channel::{Sender, Receiver} 2024-10-07 13:30:46 +02:00
Dario Nieuwenhuis
631fec8d09
Merge pull request #3393 from sourcebox/sync-additions
embassy-sync: add clear, len, is_empty and is_full functions to zerocopy_channel
2024-10-06 18:56:09 +00:00
Oliver Rockstedt
12e6add058 embassy-sync: renamed field len to capacity on zerocopy_channel state 2024-10-06 17:45:03 +02:00
Oliver Rockstedt
f3ed0c6026 embassy-sync: fix len calculation for zerocopy_channel 2024-10-06 17:39:47 +02:00
Chris Maniewski
67836f955a
docs: fix Sender/Receiver typo 2024-10-05 14:16:00 +02:00
Oliver Rockstedt
383ad72b63 embassy-sync: add clear, len, is_empty and is_full functions to zerocopy_channel 2024-10-05 13:39:27 +02:00
rafael
d643d50f41 Add Watch to embassy-sync README 2024-10-05 12:24:17 +02:00
Peter Krull
5e1912a2d3 Reverse generics order, remove spin_get 2024-09-24 12:37:32 +02:00
Peter Krull
999807f226 Added SealedWatchBehavior to limit access to core functions 2024-09-23 20:29:50 +02:00
Peter Krull
a669611d7c Discontinue peek, add AnonReceiver 2024-09-23 20:09:35 +02:00
Peter Krull
a2c473306f
Merge branch 'embassy-rs:main' into multi-signal 2024-09-23 19:02:59 +02:00
Nathan Perry
893b8d79e8 embassy_sync/pubsub: fix PubSubBehavior visibility
https://github.com/embassy-rs/embassy/pull/2969 appears to have broken
direct `publish_immediate()` on `pubsub::Channel`, as it functionally
made `PubSubBehavior` private and didn't delegate this method to the new
(private) `SealedPubSubBehavior`.

This change moves `publish_immediate`, `capacity`, and `is_full` from
`SealedPubSubBehavior` to `PubSubBehavior` in order to restore them to
`pub` visibility.
2024-09-19 08:44:45 -04:00
Rafael Bachmann
a91de8d6b0
Fix link to PriorityChannel
Fix: #2899
2024-08-18 10:36:04 +02:00
wanglei
05562b92af embassy-sync: more unit-test for LazyLock
Signed-off-by: wanglei <wllenyj@gmail.com>
2024-07-31 10:32:44 +08:00
wanglei
93696c912e embassy-sync: fix the data of LazyLock never drop
Using `union` can save more space.

And the `MaybeUninit<T>` will never drop the T, when dropping the
`MaybeUninit<T>`. Fixed it.

Signed-off-by: wanglei <wllenyj@gmail.com>
2024-07-31 10:31:56 +08:00
Samuel Tardieu
05e0f12846 embassy-sync: add LazyLock
`LazyLock` is inspired by Rust 1.80.0's `std::sync::LazyLock` type.
2024-07-29 11:04:59 +02:00
Dario Nieuwenhuis
2d678d6956 Update to Rust 1.80, make check-cfg unconditional. 2024-07-25 15:53:00 +02:00
Tarun Singh
a716a3f006 Reduced define for 'unreachable!' to a single macro rule 2024-07-17 17:05:52 -04:00
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
Dario Nieuwenhuis
4d9115b3fb Update stable to Rust 1.79. 2024-06-13 20:40:04 +02:00
Dario Nieuwenhuis
3e2b015dc4
Merge pull request #3054 from dvdsk/clonable-errors
Add Clone and Copy to Error types
2024-06-09 09:47:26 +00:00
dvdsk
871fe3a549
Add Clone and Copy to Error types
None of them are `non-exaustative`, they are all small enough to be copy
(I estimate none are larger than 4 bytes).
2024-06-06 23:19:07 +02:00
Jesse Stuart
3e85fb4f52 embassy-sync: remove T: Send for Signal<M, T> 2024-06-05 20:22:48 -04:00
Jan Špaček
bfb380e8ca Copy build_common.rs into each crate, to make cargo publish happy 2024-05-31 08:07:51 +02:00
Jan Špaček
368893c9cb Emit cargo:rustc-check-cfg instructions from build.rs 2024-05-30 18:28:29 +02:00
Ulf Lilleengen
52965ae96a remove duplicate entry 2024-05-29 12:38:33 +02:00
Ulf Lilleengen
d040dfaff9 add missing entries to changelog 2024-05-29 12:21:41 +02:00
Ulf Lilleengen
cf0d227cca Prepare for embassy-sync 0.6.0 release 2024-05-29 12:09:55 +02:00
Oliver Rockstedt
bbeba7f014 embassy-sync: Add clear function to all channels 2024-05-22 14:54:09 +02:00
Oliver Rockstedt
aee9d5902a embassy-sync: fixed some documentation typos 2024-05-22 00:54:52 +02:00
Oliver Rockstedt
73e523ab14 embassy-sync: fixed some clippy warnings 2024-05-21 22:59:39 +02:00
Dion Dokter
5cffaf323b Add little migration sentence to changelog 2024-05-20 15:52:32 +02:00
Dion Dokter
07f2240a19 Add to changelog 2024-05-20 15:38:28 +02:00
Dion Dokter
a76082b104 Expose new length functions in the subs and pubs 2024-05-20 15:34:03 +02:00
Dion Dokter
2a4a714060 Make behaviour trait sealed 2024-05-20 15:18:10 +02:00
Oliver Rockstedt
ab89993451 embassy-sync: Add capacity, free_capacity, len, is_empty and is_full functions to PubSubChannel 2024-05-18 14:01:23 +02:00
Oliver Rockstedt
f361c2e81c embassy-sync: Add capacity, free_capacity, len, is_empty and is_full functions to PriorityChannel 2024-05-18 13:48:40 +02:00
Oliver Rockstedt
3d9b502c7a embassy-sync: Add capacity and free_capacity functions to Channel 2024-05-18 13:37:51 +02:00
QWS
fe68308958 Fix: typo 2024-05-10 22:22:24 +08:00
W Etheredge
cc4ff9ef2d embassy_sync::Mutex: Implement traits to match std 2024-05-05 23:10:00 -05:00
nerwalt
30dcc88093 Adding ready_to_receive to Channel and Receiver
Adding ReceiveReadyFuture
2024-04-19 12:16:12 -06:00
Caio
86706bdc14 Add map method 2024-04-14 19:35:59 -03:00
Oliver Rockstedt
fa05256f05 embassy-sync: Add len, is_empty and is_full functions to Channel. 2024-04-08 00:40:42 +02:00
Alex Moon
c9acebf783 Fix FairSemaphore bugs
- `acquire` and `acquire_all` futures were `!Send`, even for `M: RawMutex + Send` due to the captured `Cell`.
- If multiple `acquire` tasks were queued, waking the first would not wake the second, even if there were permits remaining after the first `acquire` completed.
2024-04-03 19:13:57 -04:00
Alex Moon
f8a6007e1c Semaphore synchronization primitive
This provides both a "greedy" and "fair" async semaphore implementation.
2024-03-30 22:25:41 -04:00
Alexandru Radovici
a38cbbdc59
fix typo 2024-03-30 22:36:30 +02:00
Dario Nieuwenhuis
c2aa95016a
Merge pull request #2727 from de-vri-es/forward-std-feature-to-critical-section
Forward the "std" feature to the critical-section crate in embassy-sync.
2024-03-22 11:34:45 +00:00