aboutsummaryrefslogtreecommitdiff
path: root/embassy-sync
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix module references in blocking read-write lock implementationAlix ANNERAUD2025-02-282-18/+18
| |
| * Refactor blocking read-write lock module structure and improve assertions in ↵Alix ANNERAUD2025-02-283-129/+265
| | | | | | | | ThreadModeRawRwLock
| * Add blocking read-write lock implementation and remove obsolete testsAlix ANNERAUD2025-02-285-167/+381
| |
| * Add `RawRwLock` trait and `RawRwLockImpl` struct implementationAlix ANNERAUD2025-02-282-86/+86
| | | | | | | | | | | | | | | | * 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
| * (no commit message)Alix ANNERAUD2025-02-282-142/+231
| |
| * Add RwLock to embassy-syncAlix ANNERAUD2025-02-283-0/+338
| | | | | | | | | | | | | | 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).
* | embassy-sync, executor/wasm: don't select critical-section impl for stdDániel Buga2025-04-061-1/+1
| |
* | docs: fix a typoCyril Marpaud2025-03-311-1/+1
| |
* | Add note about RefCell alternativeAlexander van Saase2025-03-211-2/+5
| |
* | embassy-sync: add lock_mut to blocking_mutex::MutexAlexander van Saase2025-03-191-0/+14
|/
* Merge pull request #3797 from stargazing-dino/add-channel-streamDario Nieuwenhuis2025-02-191-0/+22
|\ | | | | Add stream impl for embassy-sync Channels
| * add stream implRex Magana2025-01-221-0/+22
| |
* | Add must_use to MutexGuardwackazong2025-02-041-0/+1
| |
* | Fix issue #3828lsartory2025-02-011-2/+14
| | | | | | | | | | | | 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.
* | embassy-sync: fix clear() to wake sendersibuki20032025-01-264-0/+12
|/
* remove from senderBronson2025-01-201-11/+0
|
* added remove_if to priority channelBronson2025-01-201-0/+42
|
* chore: bump embassy-sync versionUlf Lilleengen2025-01-152-1/+3
| | | | Prepare version 0.6.2 for release
* feat: add dynamic dispatch variants of pipeUlf Lilleengen2025-01-152-0/+277
|
* Desugar some async fnsDániel Buga2024-12-304-20/+20
|
* Bump sync version (#3562)Dániel Buga2024-11-222-2/+2
| | | | | | | * Bump sync version * Use old embassy-sync in rp bluetooth example * Downgrade update to minor
* Generalize AtomicWakerDániel Buga2024-11-222-10/+33
|
* remove optionBronson2024-11-101-3/+3
|
* fix formattingBronson2024-11-101-1/+1
|
* added watch new_with()Bronson2024-11-101-15/+27
|
* add default data to watch new()Bronson2024-11-101-16/+16
|
* Merge pull request #3358 from mammothbane/mainDario Nieuwenhuis2024-10-213-1/+95
|\ | | | | embassy_sync: `Sink` adapter for `pubsub::Pub`
| * embassy_sync: `Sink` adapter for `pubsub::Pub`Nathan Perry2024-09-203-1/+95
| | | | | | | | | | | | | | | | 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`.
* | embassy-sync: made changelog formatting more consistentOliver Rockstedt2024-10-071-9/+9
| |
* | embassy-sync: added Watch primitive to changelogOliver Rockstedt2024-10-071-0/+1
| |
* | embassy-sync: fixed some clippy warningsOliver Rockstedt2024-10-073-3/+4
| |
* | Add capacity, free_capacity, clear, len, is_empty and is_full functions to ↵Oliver Rockstedt2024-10-072-0/+85
| | | | | | | | priority_channel::{Sender, Receiver}
* | embassy-sync: fixed link to priority_channel in READMEOliver Rockstedt2024-10-071-1/+1
| |
* | Minor changelog fixOliver Rockstedt2024-10-071-1/+1
| |
* | Add capacity, free_capacity, clear, len, is_empty and is_full functions to ↵Oliver Rockstedt2024-10-072-0/+85
| | | | | | | | Channel::{Sender, Receiver}
* | Merge pull request #3393 from sourcebox/sync-additionsDario Nieuwenhuis2024-10-062-3/+89
|\ \ | | | | | | | | | embassy-sync: add clear, len, is_empty and is_full functions to zerocopy_channel
| * | embassy-sync: renamed field len to capacity on zerocopy_channel stateOliver Rockstedt2024-10-061-5/+6
| | |
| * | embassy-sync: fix len calculation for zerocopy_channelOliver Rockstedt2024-10-061-1/+9
| | |
| * | embassy-sync: add clear, len, is_empty and is_full functions to zerocopy_channelOliver Rockstedt2024-10-052-0/+77
| | |
* | | docs: fix Sender/Receiver typoChris Maniewski2024-10-051-2/+2
| | |
* | | Add Watch to embassy-sync READMErafael2024-10-051-0/+1
|/ /
* | Reverse generics order, remove spin_getPeter Krull2024-09-241-26/+2
| |
* | Added SealedWatchBehavior to limit access to core functionsPeter Krull2024-09-231-66/+71
| |
* | Discontinue peek, add AnonReceiverPeter Krull2024-09-231-151/+289
| |
* | Merge branch 'embassy-rs:main' into multi-signalPeter Krull2024-09-2320-109/+1923
|\|
| * embassy_sync/pubsub: fix PubSubBehavior visibilityNathan Perry2024-09-191-28/+28
| | | | | | | | | | | | | | | | | | | | | | 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.
| * Fix link to PriorityChannelRafael Bachmann2024-08-181-1/+1
| | | | | | Fix: #2899
| * embassy-sync: more unit-test for LazyLockwanglei2024-07-311-0/+47
| | | | | | | | Signed-off-by: wanglei <[email protected]>
| * embassy-sync: fix the data of LazyLock never dropwanglei2024-07-311-10/+31
| | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * embassy-sync: add LazyLockSamuel Tardieu2024-07-294-0/+88
| | | | | | | | `LazyLock` is inspired by Rust 1.80.0's `std::sync::LazyLock` type.