| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| | * | | docs: Update notes on service-side PoW | Wesley Aptekar-Cassels | 2024-12-17 | 1 | -22/+24 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes a few major changes: * Removes the IptPowInstance type, instead moving that functionality to PowManager, using a RwLock. * Adds detail about the priority queue types / APIs * Makes all members of PowManager wrapped by a Mutex/RwLock, so that the caller doesn't need to worry about that. The caller will still likely need to put it in a Arc, though. | |||||
| | * | | docs: Rework service side PoW draft. | Wesley Aptekar-Cassels | 2024-12-17 | 1 | -74/+93 | |
| | | | | ||||||
| | * | | docs: Add note on plan for service side PoW. | Wesley Aptekar-Cassels | 2024-12-17 | 1 | -0/+107 | |
| |/ / | ||||||
| * | | Merge branch 'reverse-hscrypto-key-forge-dep' into 'main' | David Goulet | 2024-12-12 | 6 | -116/+114 | |
| |\ \ | | | | | | | | | | | | | | | | | | | tor-hscrypto: Move encodable key trait impls from tor-key-forge. Closes #1778 See merge request tpo/core/arti!2668 | |||||
| | * | | check_toposort: Topologically sort the dependency. | Gabriela Moldovan | 2024-12-11 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | Now `tor-hscrypto` depends on `tor-key-forge`, so we need to update their ordering in `Cargo.toml`. | |||||
| | * | | tor-hscrypto: Move encodable key trait impls from tor-key-forge. | Gabriela Moldovan | 2024-12-11 | 5 | -115/+113 | |
| | |/ | | | | | | | | | | | | | | | | | This enables us to get rid of the tor-key-forge -> tor-hscrypto dependency, partially addressing the TODO from `tor_key_forge::traits`. This commit is mostly code motion. Best reviewed with `--color-moved`. See also #1778 | |||||
| * | | Merge branch 'nowat_warning' into 'main' | gabi-250 | 2024-12-12 | 1 | -1/+1 | |
| |\ \ | | | | | | | | | | | | | streamops: Resolve unused-variable warnings. See merge request tpo/core/arti!2673 | |||||
| | * | | streamops: Resolve unused-variable warnings. | Nick Mathewson | 2024-12-12 | 1 | -1/+1 | |
| |/ / | ||||||
| * | | Merge branch 'cbindgen-label' into 'main' | Nick Mathewson | 2024-12-11 | 3 | -1/+3 | |
| |\ \ | |/ |/| | | | | | | | | | Label our cbindgen output, to detect version incompatibility. Closes #1772 See merge request tpo/core/arti!2662 | |||||
| | * | .gitlab-ci.yml: pin to cbindgen 0.27.0 | Nick Mathewson | 2024-12-11 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | This will help us avoid bugs related to using multiple versions in the future. (From time to time, we should upgrade to more recent versions as they become available.) | |||||
| | * | Label our cbindgen output, to detect version incompatibility. | Nick Mathewson | 2024-12-09 | 2 | -0/+2 | |
| | | | | | | | | | | | | | | | This will help us keep track of whether we are using the pinned-to version of cbindgen. Closes #1772. | |||||
| * | | Merge branch 'chanmgr-dos' into 'main' | opara | 2024-12-10 | 6 | -36/+769 | |
| |\ \ | | | | | | | | | | | | | tor-proto: consolidate `Channel`s "closed" state handling See merge request tpo/core/arti!2645 | |||||
| | * | | 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 | 2 | -25/+24 | |
| | | | | | | | | | | | | | `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 | 3 | -12/+14 | |
| | | | | ||||||
| | * | | 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: update docs on `Channel::reactor_closed_rx` | Steven Engler | 2024-12-10 | 1 | -3/+1 | |
| | | | | | | | | | | | | | | | | This is no longer applicable with the new oneshot broadcast channel design. | |||||
| | * | | tor-proto: replace oneshot broadcast channel | Steven Engler | 2024-12-10 | 4 | -138/+564 | |
| | | | | | | | | | | | | | | | | The old version had some issues, so this is a rewrite which uses slightly lower level synchronization types (`Mutex` and `OnceLock`). | |||||
| | * | | tor-proto: replace `Channel`s "closed" state handling | Steven Engler | 2024-12-10 | 2 | -35/+47 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously `Channel` had two concepts of "closed". There was an atomic flag that was set to `true` at the end `Reactor::run`, and an experimental oneshot channel where the sender was dropped when the reactor was dropped. This commit consolidates these two using the `oneshot_broadcast` module. This means that the behaviour is consistent between both "closed" statuses (`is_closing()` and `wait_for_close()`). A channel is considered closed when its reactor is dropped. This also helps progress towards making the channel reactor cancellation safe (see arti#1756). | |||||
| | * | | tor-proto: move `ChannelDetails::reactor_closed_rx` to `Channel` | Steven Engler | 2024-12-10 | 1 | -11/+17 | |
| | | | | | | | | | | | | | This doesn't need to be shared with the reactor. | |||||
| | * | | tor-proto: add 'oneshot_broadcast' util module | Steven Engler | 2024-12-10 | 2 | -0/+246 | |
| |/ / | ||||||
| * | | Merge branch 'remove-haskind' into 'main' | David Goulet | 2024-12-10 | 2 | -14/+1 | |
| |\ \ | | | | | | | | | | | | | tor-key-forge: Abolish the HasKind impl of Error. See merge request tpo/core/arti!2664 | |||||
| | * | | tor-key-forge: Abolish the HasKind impl of Error. | Gabriela Moldovan | 2024-12-10 | 2 | -14/+1 | |
| |/ / | | | | | | | | | | | | | We can't possibly know the `ErrorKind` of such an error, unless we know where the unsupported key came from. Since we can't know this, we should let a higher level crate (like `tor-keymgr`) decide the `ErrorKind` instead. | |||||
| * | | Merge branch 'rtcompat-streamops' into 'main' | gabi-250 | 2024-12-10 | 15 | -12/+252 | |
| |\ \ | |/ |/| | | | | | | | | | tor-rtcompat: Add a StreamOps trait. Closes #1769 See merge request tpo/core/arti!2660 | |||||
| | * | tor-rtcompat: Replace bad_api_usage with UnsupportedStreamOp (fmt). | Gabriela Moldovan | 2024-12-10 | 4 | -6/+21 | |
| | | | ||||||
| | * | tor-rtcompat: Replace bad_api_usage with UnsupportedStreamOp. | Gabriela Moldovan | 2024-12-10 | 5 | -30/+15 | |
| | | | ||||||
| | * | tor-rtcompat: Add an error type for unsupported StreamOps. | Gabriela Moldovan | 2024-12-10 | 2 | -1/+28 | |
| | | | ||||||
| | * | tor-rtcompat: Add a default implementation for StreamOps::set_tcp_notsent_lowat. | Gabriela Moldovan | 2024-12-10 | 1 | -2/+8 | |
| | | | ||||||
| | * | tor-rtcompat: Clarify the StreamOps documentation. | Gabriela Moldovan | 2024-12-10 | 1 | -4/+6 | |
| | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2660#note_3139562 | |||||
