| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | tor-proto: add `Notify{Sender,Receiver}` channel | Steven Engler | 2025-06-23 | 1 | -0/+185 |
| | | | | | | | An async notification channel. This uses `postage::watch::{Sender,Receiver}` internally. | ||||
| * | tor-proto: add `DynamicRateLimitedWriter` | Steven Engler | 2025-06-16 | 4 | -2/+296 |
| | | | | | | This is a `Writer` rate limiter which can receive rate limit updates from a `Stream`. | ||||
| * | tor-proto: fix bug in `RateLimitedWriter::poll_write` | Steven Engler | 2025-06-08 | 2 | -16/+100 |
| | | | | | | | Previously it did not behave correctly when `bucket.max()` was 0 (it would sleep for 0 time instead of infinitely, triggering a debug assertion). | ||||
| * | tor-proto: change `wake_when_bytes_available` to `NonZero<u64>` | Steven Engler | 2025-06-08 | 1 | -5/+6 |
| | | |||||
| * | tor-proto: add additional unit test for `TokenBucket::adjust` | Steven Engler | 2025-06-08 | 1 | -1/+57 |
| | | |||||
| * | tor-proto: improve `TokenBucket::adjust` | Steven Engler | 2025-06-08 | 1 | -42/+87 |
| | | | | | The token bucket is now refilled before changing the rate. | ||||
| * | tor-proto: rename `TokenBucket::last_refill` to `added_tokens_at` | Steven Engler | 2025-06-08 | 1 | -18/+18 |
| | | |||||
| * | tor-proto: return `Result` from `tokens_available_at` | Steven Engler | 2025-06-05 | 2 | -32/+66 |
| | | |||||
| * | tor-proto: change `RateLimitedWriter` logic to use user-configurable limit | Steven Engler | 2025-06-05 | 1 | -16/+38 |
| | | | | | The user now sets a constant amount of bytes to wait for. | ||||
| * | tor-proto: change `ClaimedTokens::commit_fewer` to `reduce` | Steven Engler | 2025-06-05 | 2 | -21/+14 |
| | | |||||
| * | tor-proto: add `{TokenBucket,RateLimitedWriter}Config` types | Steven Engler | 2025-06-05 | 2 | -30/+104 |
| | | |||||
| * | tor-proto: add token bucket test for token/duration calc | Steven Engler | 2025-06-05 | 1 | -0/+64 |
| | | |||||
| * | tor-proto: add a `RateLimitedWriter` | Steven Engler | 2025-06-05 | 2 | -0/+328 |
| | | |||||
| * | tor-proto: add a `TokenBucket` | Steven Engler | 2025-06-05 | 2 | -0/+611 |
| | | |||||
| * | tor-proto: Add error and channel types for conflux handshake outcome. | Gabriela Moldovan | 2025-05-06 | 1 | -0/+13 |
| | | | | | | These will be used for sending the conflux handshake outcome to the reactor user. | ||||
| * | Include "bug" in all bug error messages | Nick Mathewson | 2025-04-28 | 2 | -2/+2 |
| | | |||||
| * | tor-proto: Add line breaks between impl blocks. | Gabriela Moldovan | 2025-02-25 | 1 | -0/+4 |
| | | | | | For readability | ||||
| * | tor-proto: Implement From<Bug> for ReactorError. | Gabriela Moldovan | 2025-02-25 | 1 | -1/+6 |
| | | | | | | | | | | | We will soon have a `ConfluxSet` type. Some of its operations will return `Bug` (for example, the method for getting the *only* leg of the conflux set will return a `Bug` if the set has no legs, or more than 1 leg). This conversion function will make it easier these errors to `ReactorError`. | ||||
| * | tor-async-utils: Make SometimesUnboundedSink::send_unbounded() pub(crate). | Gabriela Moldovan | 2025-01-29 | 1 | -2/+1 |
| | | | | | | We are about to use this in the circuit reactor (instead of `pollish_send_unbounded`). | ||||
| * | proto: Notify CC when a SENDME is received | David Goulet | 2025-01-16 | 1 | -0/+5 |
| | | | | | | | | | | We also pass along congestion signals that may or may not be used by our congestion control algorithm. Part of #534 Signed-off-by: David Goulet <[email protected]> | ||||
| * | fix: fix typos | Dimitris Apostolou | 2025-01-06 | 1 | -1/+1 |
| | | |||||
| * | tor-proto: replaced error type of `Sender::send_and_wake` | Steven Engler | 2024-12-10 | 1 | -6/+10 |
| | | |||||
| * | tor-proto: add some (disabled) doc tests | Steven Engler | 2024-12-10 | 1 | -0/+27 |
| | | |||||
| * | tor-proto: moved `Shared::count_wakers` into 'test' mod | Steven Engler | 2024-12-10 | 1 | -13/+12 |
| | | |||||
| * | tor-proto: changed an `expect` to a `debug_assert` | Steven Engler | 2024-12-10 | 1 | -5/+4 |
| | | |||||
| * | tor-proto: use thiserror for `SenderDropped` | Steven Engler | 2024-12-10 | 1 | -9/+2 |
| | | |||||
| * | tor-proto: use `ready!` instead of `match` | Steven Engler | 2024-12-10 | 1 | -5/+3 |
| | | |||||
| * | tor-proto: `borrowed()` now explicitly returns a `BorrowedReceiverFuture` | Steven Engler | 2024-12-10 | 1 | -3/+2 |
| | | |||||
| * | tor-proto: improve comments | Steven Engler | 2024-12-10 | 1 | -15/+31 |
| | | |||||
| * | Revert "tor-proto: implement `FusedFuture` for receiver futures" | Steven Engler | 2024-12-10 | 1 | -57/+10 |
| | | | | | This reverts commit d73f8894551d37e3bc36947eccf0c6007ffc066e. | ||||
| * | tor-proto: implement `FusedFuture` for receiver futures | Steven Engler | 2024-12-10 | 1 | -10/+57 |
| | | |||||
| * | Revert "tor-proto: deduplicate future fields into `FutureState`" | Steven Engler | 2024-12-10 | 1 | -18/+11 |
| | | | | | This reverts commit acc79ffb44343e52ecb72e27ee8843a63448ff5a. | ||||
| * | Revert "tor-proto: implement `FusedFuture` for receiver futures" | Steven Engler | 2024-12-10 | 1 | -79/+33 |
| | | | | | This reverts commit 2fd105b79c25d919e32e53daf81cb369d1e44331. | ||||
| * | tor-proto: implement `FusedFuture` for receiver futures | Steven Engler | 2024-12-10 | 1 | -33/+79 |
| | | | | | | | | | I considered just using `FutureExt::fuse`, but that becomes a little annoying since the future type is exposed through `IntoFuture::IntoFuture`, which means `ReceiverFuture` would need to wrap a `Fuse`. I figured it's cleaner just to implement the trait directly. | ||||
| * | tor-proto: deduplicate future fields into `FutureState` | Steven Engler | 2024-12-10 | 1 | -11/+18 |
| | | |||||
| * | tor-proto: renamed `ReceiverBorrowedFuture` to `BorrowedReceiverFuture` | Steven Engler | 2024-12-10 | 1 | -5/+5 |
| | | |||||
| * | tor-proto: renamed `ReceiverOwnedFuture` to `ReceiverFuture` | Steven Engler | 2024-12-10 | 1 | -6/+6 |
| | | |||||
| * | tor-proto: rename `Receiver::recv` to `borrowed` | Steven Engler | 2024-12-10 | 1 | -24/+24 |
| | | |||||
| * | tor-proto: moved the `Weak::upgrade` into `Sender::send_and_wake` | Steven Engler | 2024-12-10 | 1 | -22/+15 |
| | | |||||
| * | tor-proto: changed `wakers` from an `Option<_>` to a `Result<_, ↵ | Steven Engler | 2024-12-10 | 1 | -9/+21 |
| | | | | | WakersAlreadyWoken>` | ||||
| * | tor-proto: added `use std::ops::Drop` | Steven Engler | 2024-12-10 | 1 | -3/+4 |
| | | |||||
| * | tor-proto: removed `Receiver::recv_clone` and implemented `IntoFuture` for ↵ | Steven Engler | 2024-12-10 | 1 | -24/+22 |
| | | | | | `Receiver` | ||||
| * | tor-proto: renamed `CancelledError` to `SenderDropped` | Steven Engler | 2024-12-10 | 1 | -17/+17 |
| | | |||||
| * | tor-proto: switched from `Slab` to `DenseSlotMap` for waker map | Steven Engler | 2024-12-10 | 1 | -10/+12 |
| | | |||||
| * | tor-proto: change the message type from `Option<T>` to `Result<T, ↵ | Steven Engler | 2024-12-10 | 1 | -9/+12 |
| | | | | | CancelledError>` | ||||
| * | tor-proto: changed regular comments on `Shared` to doc comments | Steven Engler | 2024-12-10 | 1 | -21/+21 |
| | | |||||
| * | tor-proto: replace oneshot broadcast channel | Steven Engler | 2024-12-10 | 1 | -137/+561 |
| | | | | | | The old version had some issues, so this is a rewrite which uses slightly lower level synchronization types (`Mutex` and `OnceLock`). | ||||
| * | tor-proto: add 'oneshot_broadcast' util module | Steven Engler | 2024-12-10 | 1 | -0/+245 |
| | | |||||
| * | tor-proto: Remove the no-longer needed allows | Ian Jackson | 2024-10-03 | 1 | -1/+0 |
| | | |||||
| * | tor-proto: Provide a variant for memquota errors | Ian Jackson | 2024-10-03 | 1 | -0/+6 |
| | | |||||
