| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| | * | tor-proto: Remove now-unused leg_id argument. | Gabriela Moldovan | 2025-03-24 | 2 | -7/+1 | |
| | | | | | | | | | | | The `LegId` is now added by the caller, when converting the resulting `CircuitCmd`s to `RunOnceCmdInner`. | |||||
| | * | tor-proto: Add docs to SendRelayCell. | Gabriela Moldovan | 2025-03-24 | 1 | -3/+3 | |
| | | | ||||||
| | * | tor-proto: Replace RunOnceCmdInner with CircuitCmd where appropriate. | Gabriela Moldovan | 2025-03-24 | 3 | -47/+61 | |
| | | | | | | | | | | | `CircuitCmd`s are a subset of `RunOnceCmdInner`, and don't have a `LegId`. | |||||
| | * | tor-proto: Add CircuitCmd enum. | Gabriela Moldovan | 2025-03-24 | 2 | -1/+63 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A `CircuitCmd`, unlike `RunOnceCmdInner`, doesn't know anything about `LegId`s. The user of the `CircuitCmd`s is supposed to know the `LegId` of the circuit the `CircuitCmd` came from. This is necessary because circuits don't know (and can't know) their own `LegId`. The various `Circuit` operations (e.g. `handle_cell`) will soon be updated to return `CircuitCmd` instead of `RunOnceCmdInner` (because the `RunOnceCmdInner` variants will soon be updated to also have an associated `LegId`, and `Circuit`s don't have access to their `LegId`s). The calling code, which *does* know the `LegId`, will then map `CircuitCmd`s to `RunOnceCmdInner`. | |||||
| | * | tor-proto: Put the leg id of the circuit in CircuitAction::HandleCell. | Gabriela Moldovan | 2025-03-23 | 2 | -7/+12 | |
| | | | | | | | | | | | | | | | This tells the reactor which circuit leg the input message originated from. Addresses a TODO. | |||||
| * | | tor-proto: send errors to oneshot channel in more places | Steven Engler | 2025-03-24 | 1 | -16/+38 | |
| | | | ||||||
| * | | tor-proto: made `StreamTarget::send_sendme` async and fixed a TODO | Steven Engler | 2025-03-24 | 3 | -10/+28 | |
| | | | ||||||
| * | | tor-proto: remove previously completed TODOs | Steven Engler | 2025-03-24 | 1 | -21/+7 | |
| | | | ||||||
| * | | tor-proto: fix small TODO | Steven Engler | 2025-03-24 | 1 | -3/+1 | |
| |/ | ||||||
| * | proto: make padding::Parameters construction fallible. | Nick Mathewson | 2025-03-18 | 4 | -23/+106 | |
| | | | | | | | | The constructor for rand::distr::Uniform is now fallible, so it makes sense to bubble up its restrictions. This is a breaking change. | |||||
| * | squash! Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 1 | -1/+1 | |
| | | | | | - The Rng::gen() functions have been renamed to Rng::random(). | |||||
| * | squash! Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 1 | -3/+2 | |
| | | | | | | | - `rand::thread_rng()` has been deprecated and renamed to `rand::rng()` (I missed these cases because they were from prelude::*) | |||||
| * | squash! Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 1 | -1/+2 | |
| | | | | | - `Uniform::new_inclusive` is now fallible. | |||||
| * | squash! Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 1 | -4/+0 | |
| | | | | | - `try_fill_bytes()` is no longer a member of RngCore. | |||||
| * | squash! Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 2 | -5/+5 | |
| | | | | | - The rand::distributions module has been renamed to rand::distr | |||||
| * | squash! Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 10 | -15/+15 | |
| | | | | | - `rand::thread_rng()` has been deprecated and renamed to `rand::rng()` | |||||
| * | Upgrade rand dependency to 0.9. | Nick Mathewson | 2025-03-18 | 1 | -2/+2 | |
| | | | | | | | (Per discussion at #1774, we think the changes are acceptable.) This commit won't compile on its own; subsequent commits will fix it. | |||||
| * | tor-proto: make `Circuit::add_hop` fallible | Steven Engler | 2025-03-12 | 3 | -13/+28 | |
| | | ||||||
| * | tor-proto: change `take_single_leg` to return `NotSingleLegError` | Steven Engler | 2025-03-11 | 2 | -4/+3 | |
| | | ||||||
| * | tor-proto: remove `ConfluxSet::single_leg_check` and add `get_single` | Steven Engler | 2025-03-11 | 1 | -37/+38 | |
| | | ||||||
| * | tor-proto: begin using `TargetHop` and `HopLocation` | Steven Engler | 2025-03-11 | 6 | -40/+126 | |
| | | | | | | | | | This doesn't yet change the public API, it just begins the work of plumbing these around throughout `ClientCirc`, `Reactor`, etc. This can't be broken up into smaller commits without causing build failures. | |||||
| * | tor-proto: add methods for resolving `TargetHop` and `TargetLocation` | Steven Engler | 2025-03-11 | 2 | -1/+96 | |
| | | ||||||
| * | tor-proto: add a non-pub `ClientCirc::legs()` method | Steven Engler | 2025-03-11 | 3 | -2/+40 | |
| | | ||||||
| * | tor-proto: combine `single_leg_with_id` and `single_leg` | Steven Engler | 2025-03-11 | 3 | -43/+30 | |
| | | | | | And the same with `single_leg_with_id_mut` and `single_leg_mut`. | |||||
| * | tor-proto: remove non-conflux support from `HopLocation` | Steven Engler | 2025-03-11 | 1 | -5/+0 | |
| | | ||||||
| * | tor-proto: rename `HopLocation::Leg` to `HopLocation::Hop` | Steven Engler | 2025-03-11 | 1 | -1/+1 | |
| | | ||||||
| * | tor-proto: add methods to `ConfluxSet` | Steven Engler | 2025-03-11 | 1 | -12/+65 | |
| | | | | | These give more ways of accessing legs. | |||||
| * | tor-proto: change `single_leg_mut` to return `NotSingleLegError` | Steven Engler | 2025-03-11 | 2 | -7/+8 | |
| | | ||||||
| * | tor-proto: add `NotSingleLegError` for `single_leg_check` | Steven Engler | 2025-03-11 | 1 | -8/+34 | |
| | | ||||||
| * | tor-rtmock: allow-Decorate every use of MockSleepProvider | Ian Jackson | 2025-03-06 | 1 | -0/+1 | |
| | | | | | | | | MockSleepProvider and MockSleepRuntime have been declared deprecated by the docs for some time. We're about to mark them `#[deprecated]`. This commit has been split out for clarity of review. | |||||
| * | tor-proto: s/note/warning in function docs about locking stream map mutex. | Gabriela Moldovan | 2025-03-06 | 1 | -1/+1 | |
| | | ||||||
| * | tor-proto: s/has_first_hop/has_hops (fmt). | Gabriela Moldovan | 2025-03-06 | 1 | -5/+1 | |
| | | ||||||
| * | tor-proto: s/has_first_hop/has_hops. | Gabriela Moldovan | 2025-03-06 | 3 | -3/+3 | |
| | | ||||||
| * | tor-proto: Fix up docs post-refactoring (fmt). | Gabriela Moldovan | 2025-03-06 | 1 | -4/+1 | |
| | | ||||||
| * | tor-proto: Fix up docs post-refactoring. | Gabriela Moldovan | 2025-03-06 | 1 | -3/+3 | |
| | | ||||||
| * | tor-proto: Move Circuit to its own module. | Gabriela Moldovan | 2025-03-06 | 9 | -1325/+1393 | |
| | | | | | | | | | | | | This is mostly code motion + some visibility adjustments. Moving all of these outside of `reactor` makes it easier to see which parts are internal vs which are accessed by the reactor. It also helps us enforce/audit invariants such as 'there should be no contention on the `CircHop::map` mutex' (the stream map is now private to `reactor::circuit`, and therefore nothing inside `reactor` will be directly accessing it). | |||||
| * | tor-proto: Avoid accessing CircHop internals from the reactor. | Gabriela Moldovan | 2025-03-06 | 3 | -2/+16 | |
| | | | | | This will enable us to move `CircHop` out of `reactor.rs`. | |||||
| * | tor-proto: Avoid accessing Circuit internals from the reactor. | Gabriela Moldovan | 2025-03-06 | 2 | -3/+16 | |
| | | | | | This will enable us to factor `Circuit` out of `reactor.rs`. | |||||
| * | tor-rtmock: task: Remove Default impl for ThreadDescriptor | Ian Jackson | 2025-03-04 | 1 | -1/+1 | |
| | | | | | | | | | | This is going to become a hazard. Let's be explicit. This means using educe to derive the Default for Data. We also need to update our educe dependency to 0.4.22, since that's when Default(expression= "...") started working correctly. | |||||
| * | Merge branch 'ctrl-cmd-docs' into 'main' | David Goulet | 2025-03-03 | 1 | -6/+5 | |
| |\ | | | | | | | | | tor-proto: Update CtrlCmd and CtrlMsg docs. See merge request tpo/core/arti!2829 | |||||
| | * | tor-proto: Update CtrlCmd and CtrlMsg docs. | Gabriela Moldovan | 2025-03-03 | 1 | -6/+5 | |
| | | | | | | | | | | | | | In aa08ede11fd483cd6dcb4522c431f9e07001717e, the reactor loop was rewritten to unconditionally read from the `CtrlMsg` channel, so we need to adjust the docs. | |||||
| * | | Merge branch 'conflux-cmds' into 'main' | David Goulet | 2025-03-03 | 3 | -13/+73 | |
| |\ \ | | | | | | | | | | | | | | | | | | | tor-proto: Add CtrlCmd:ShutdownAndReturnCircuit Closes #1876 See merge request tpo/core/arti!2831 | |||||
| | * | | tor-proto: Add CtrlCmd::ShutdownAndReturn circuit. | Gabriela Moldovan | 2025-03-03 | 1 | -0/+18 | |
| | | | | | | | | | | | | | Closes #1876 | |||||
| | * | | tor-proto: Add ConfluxSet method for taking the only leg in the set. | Gabriela Moldovan | 2025-03-03 | 2 | -0/+28 | |
| | | | | | | | | | | | | | | | | | | | | | | This will be used to implement the new `ShutdownAndReturnCircuit` control command. Part of #1876 | |||||
| | * | | tor-proto: Use bad_api_usage! instead of internal! where applicable (fmt). | Gabriela Moldovan | 2025-03-03 | 1 | -2/+6 | |
| | | | | ||||||
| | * | | tor-proto: Use bad_api_usage! instead of internal! where applicable. | Gabriela Moldovan | 2025-03-03 | 1 | -3/+3 | |
| | | | | | | | | | | | | | | | | Some of these were supposed to be `bad_api_usage`, because they result from API misuse rather than an internal error (bug). | |||||
| | * | | tor-proto: Factor out conflux set length check to new function (fmt). | Gabriela Moldovan | 2025-03-03 | 1 | -6/+6 | |
| | | | | ||||||
| | * | | tor-proto: Factor out conflux set length check to new function. | Gabriela Moldovan | 2025-03-03 | 1 | -3/+13 | |
| | | | | | | | | | | | | | | | | This will enable us to reuse these checks for implementing other methods that are only supported if the conflux set has a single leg. | |||||
| | * | | tor-proto: Use handle_shutdown() when handling CtrlCmd::Shutdown. | Gabriela Moldovan | 2025-03-03 | 1 | -1/+1 | |
| | |/ | | | | | | | | | | | For consistency with the `CtrlCmd::Shutdown` handling from `Reactor::wait_for_create` (`handle_shutdown()` also prints a helpful trace log). | |||||
| * / | tor-proto: remove `Arc<AsyncMutex<_>>` in `Circuit::input` | Steven Engler | 2025-03-03 | 2 | -27/+3 | |
| |/ | ||||||
