Alix ANNERAUD
41276de34f
Refactor RwLock implementation to support try_read and try_write methods, enhancing lock acquisition flexibility
2025-03-17 19:56:17 +01:00
Alix ANNERAUD
e557ca9606
Remove blocking read-write lock module and its references and refactor rwlock for a simpler approach
2025-03-16 21:45:25 +01:00
Alix ANNERAUD
82c0ab01f1
Remove unnecessary comment in CriticalSectionRawRwLock implementation
2025-02-28 23:32:58 +01:00
Alix ANNERAUD
10fd6d1321
Refactor imports in raw read-write lock module for clarity
2025-02-28 23:30:01 +01:00
Alix ANNERAUD
f2afcecfa8
Remove obsolete raw_rwlock.rs
file
2025-02-28 23:29:57 +01:00
Alix ANNERAUD
9cbdc9f11d
Implement read-write lock methods in CriticalSectionRawRwLock and update tests
2025-02-28 23:26:59 +01:00
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