| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | executor,sync: add support for turbo-wakers. | Dario Nieuwenhuis | 2023-03-30 | 4 | -42/+77 |
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a `core` patch to make wakers 1 word (the task pointer) instead of 2 (task pointer + vtable). It allows having the "waker optimization" we had a while back on `WakerRegistration/AtomicWaker`, but EVERYWHERE, without patching all crates. Advantages: - Less memory usage. - Faster. - `AtomicWaker` can actually use atomics to load/store the waker, No critical section needed. - No `dyn` call, which means `cargo-call-stack` can now see through wakes. Disadvantages: - You have to patch `core`... - Breaks all executors and other things that create wakers, unless they opt in to using the new `from_ptr` API. How to use: - Run this shell script to patch `core`. https://gist.github.com/Dirbaio/c67da7cf318515181539122c9d32b395 - Enable `build-std` - Enable `build-std-features = core/turbowakers` - Enable feature `turbowakers` in `embassy-executor`, `embassy-sync`. - Make sure you have no other crate creating wakers other than `embassy-executor`. These will panic at runtime. Note that the patched `core` is equivalent to the unpached one when the `turbowakers` feature is not enabled, so it should be fine to leave it there. | ||||
| * | sync/pipe: update to clarify docs that it is byte-oriented. | Dario Nieuwenhuis | 2023-03-26 | 1 | -28/+43 |
| | | | | | | There was some language copypasted from Channel talking about "messages" or "values", that is not really accurate with Pipe. | ||||
| * | perf(pubsub): Skip clone on last message | Rasmus Melchior Jacobsen | 2023-03-21 | 1 | -4/+28 |
| | | |||||
| * | fix(pubsub): Pop messages which count is 0 after unsubscribe | Rasmus Melchior Jacobsen | 2023-03-15 | 1 | -0/+47 |
| | | |||||
| * | Add `#[must_use]` to all futures | Grant Miller | 2023-02-24 | 2 | -0/+6 |
| | | |||||
| * | sync: Fix nightly feature compilation after upgrade to embedded-io 0.4.0 | Gabriel Smith | 2022-11-27 | 2 | -57/+20 |
| | | |||||
| * | sync/signal: Implement Default for Signal | Matt Johnston | 2022-11-22 | 1 | -0/+9 |
| | | |||||
| * | Derive Default for WakerRegistration | Matt Johnston | 2022-11-06 | 1 | -1/+1 |
| | | | | | This simplifies creating arrays of WakerRegistrations | ||||
| * | Update Rust nightly. | Dario Nieuwenhuis | 2022-10-26 | 1 | -9/+9 |
| | | |||||
| * | Forgot to add space function to immediate publisher | Dion Dokter | 2022-10-05 | 1 | -0/+8 |
| | | |||||
| * | Went back to named futures but now with must_use | Dion Dokter | 2022-09-29 | 3 | -7/+8 |
| | | |||||
| * | Futures in pub & sub are now awaited instead of returned for better user ↵ | Dion Dokter | 2022-09-29 | 3 | -5/+92 |
| | | | | | | | compiler diagnostics. Added functions for reading how many messages are available | ||||
| * | Remove default, reorder generic params | ivmarkov | 2022-09-25 | 1 | -9/+10 |
| | | |||||
| * | Remove default, reorder generic params | ivmarkov | 2022-09-24 | 1 | -1/+0 |
| | | |||||
| * | Parameterize Signal with RawMutex | ivmarkov | 2022-09-24 | 1 | -28/+41 |
| | | |||||
| * | Replace futures::future::poll_fn -> core::future::poll_fn. | Dario Nieuwenhuis | 2022-09-22 | 2 | -4/+3 |
| | | |||||
| * | Update Rust nightly. | Dario Nieuwenhuis | 2022-09-22 | 1 | -1/+1 |
| | | | | | Removes feature(generic_associated_types) | ||||
| * | Make rustfmt happy | Joakim Hulthe | 2022-09-16 | 1 | -1/+3 |
| | | |||||
| * | Add .into_inner() and .get_mut() to Mutex | Joakim Hulthe | 2022-09-16 | 1 | -0/+14 |
| | | |||||
| * | sync/signal: wake old waker on overflow instead of panicking. | Dario Nieuwenhuis | 2022-09-12 | 1 | -1/+5 |
| | | | | | | | This makes behavior consistent with `WakerRegistration`. It allows canceling `wait` in one task and then calling `wait` in another. If two tasks are `wait`ing concurrently the signal will be received by only one of them, randomly. | ||||
| * | Add README for embassy-sync | Ulf Lilleengen | 2022-08-23 | 1 | -1/+1 |
| | | |||||
| * | Fix warnings after crate split | Ulf Lilleengen | 2022-08-23 | 1 | -2/+2 |
| | | |||||
| * | sync: flatten module structure. | Dario Nieuwenhuis | 2022-08-22 | 7 | -9/+6 |
| | | |||||
| * | split `embassy-util` into `embassy-futures`, `embassy-sync`. | Dario Nieuwenhuis | 2022-08-22 | 16 | -0/+3156 |
