Alix ANNERAUD
5568478225
Fix module references in blocking read-write lock implementation
2025-02-28 16:41:41 +01:00
Alix ANNERAUD
33cf27adf6
Refactor blocking read-write lock module structure and improve assertions in ThreadModeRawRwLock
2025-02-28 16:32:12 +01:00
Alix ANNERAUD
a7ecf14259
Add blocking read-write lock implementation and remove obsolete tests
2025-02-28 16:28:10 +01:00
Alix ANNERAUD
114cfdd86b
Add RawRwLock
trait and RawRwLockImpl
struct implementation
...
* Implement `RawRwLock` trait with methods for read and write locking
* Implement `RawRwLockImpl` struct with atomic state and waker
* Implement `RawRwLockImpl::lock_read`, `RawRwLockImpl::try_lock_read`, and `RawRwLockImpl::unlock_read` methods
* Implement `RawRwLockImpl::lock_write`, `RawRwLockImpl::try_lock_write`, and `RawRwLockImpl::unlock_write` methods
2025-02-28 16:22:16 +01:00
Alix ANNERAUD
6904b0cc64
2025-02-28 16:10:15 +01:00
Alix ANNERAUD
025d9f6e98
Add RwLock to embassy-sync
...
Fixes #1394
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/embassy-rs/embassy/issues/1394?shareId=XXXX-XXXX-XXXX-XXXX ).
2025-02-28 15:52:07 +01:00
Dario Nieuwenhuis
a1e75841f8
Merge pull request #3797 from stargazing-dino/add-channel-stream
...
Add stream impl for embassy-sync Channels
2025-02-19 15:46:45 +01:00
wackazong
0f04878301
Add must_use to MutexGuard
2025-02-04 17:12:26 +01:00
lsartory
7d66f1ca19
Fix issue #3828
...
Zero-copy channels could not be used between interrupts and thread-mode
tasks because the internal buffer is stored as a raw pointer.
A wrapper struct implementing the Sync trait fixes this.
2025-02-01 16:43:41 +01:00
ibuki2003
e2ddba92f7
embassy-sync: fix clear() to wake senders
2025-01-26 17:23:41 +09:00
Rex Magana
269dec9380
add stream impl
2025-01-22 11:26:08 -07:00
Bronson
c65b6db318
remove from sender
2025-01-20 08:51:59 +01:00
Bronson
9f451c7f41
added remove_if to priority channel
2025-01-20 08:51:59 +01:00
Ulf Lilleengen
ed63f80637
chore: bump embassy-sync version
...
Prepare version 0.6.2 for release
2025-01-15 16:12:36 +01:00
Ulf Lilleengen
c06862eeaf
feat: add dynamic dispatch variants of pipe
2025-01-15 11:39:22 +01:00
Dániel Buga
44217aa092
Desugar some async fns
2024-12-30 12:13:13 +01:00
Dániel Buga
c9abff53d7
Bump sync version ( #3562 )
...
* Bump sync version
* Use old embassy-sync in rp bluetooth example
* Downgrade update to minor
2024-11-22 21:16:11 +01:00
Dániel Buga
e05f6da269
Generalize AtomicWaker
2024-11-22 09:21:44 +01:00
Bronson
730dde9ba9
remove option
2024-11-10 21:09:24 +10:30
Bronson
32f0cde1cc
fix formatting
2024-11-10 13:15:41 +10:30
Bronson
8d0882991e
added watch new_with()
2024-11-10 12:54:37 +10:30
Bronson
f9a1511de4
add default data to watch new()
2024-11-10 12:50:11 +10:30
Dario Nieuwenhuis
379a593291
Merge pull request #3358 from mammothbane/main
...
embassy_sync: `Sink` adapter for `pubsub::Pub`
2024-10-21 10:48:07 +02:00
Oliver Rockstedt
592bb5a8ca
embassy-sync: made changelog formatting more consistent
2024-10-07 18:16:47 +02:00
Oliver Rockstedt
4110cb494f
embassy-sync: added Watch primitive to changelog
2024-10-07 18:12:45 +02:00
Oliver Rockstedt
bf60b239e8
embassy-sync: fixed some clippy warnings
2024-10-07 18:05:15 +02:00
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
89bad07e81
embassy_sync: Sink
adapter for pubsub::Pub
...
Corresponding to the `Stream` impl for `pubsub::Sub`. Notable
difference is that we need a separate adapter type to store
the pending item, i.e. we can't `impl Sink for Pub` directly.
Instead a method `Pub::sink(&self)` is exposed, which
constructs a `PubSink`.
2024-09-20 01:58:03 -04: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