| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | | tor-proto: reorganize some flow control modules | Steven Engler | 2025-09-10 | 7 | -6/+10 | |
| |/ | | | | This is all private (or pub(crate)) code. | |||||
| * | Two grammar/typo fixes from @gabi-250 | Nick Mathewson | 2025-09-09 | 2 | -2/+2 | |
| | | ||||||
| * | proto: Make PaddingEvent uninhabited when padding is disabled. | Nick Mathewson | 2025-09-09 | 4 | -22/+29 | |
| | | ||||||
| * | proto: correctly use the QueuedCellPaddingInfo for padding. | Nick Mathewson | 2025-09-09 | 1 | -8/+15 | |
| | | ||||||
| * | proto: Implement run_padding_action. | Nick Mathewson | 2025-09-09 | 4 | -8/+194 | |
| | | ||||||
| * | CircuitCellSender: add methods to implement blocking. | Nick Mathewson | 2025-09-09 | 1 | -0/+41 | |
| | | ||||||
| * | proto: add SometimesUnboundedSink::as_inner_mut. | Nick Mathewson | 2025-09-09 | 1 | -0/+11 | |
| | | | | | Include suitable dire warnings about actually using it. | |||||
| * | proto: Watch for PaddingEvents in tunnel reactor. | Nick Mathewson | 2025-09-09 | 3 | -5/+81 | |
| | | | | | | | | Here we give every Circuit in a conflux set its own PaddingEventStream, and poll it as appropriate. We don't yet actually implement the "take an action" code. | |||||
| * | proto: Make PaddingEventStream implement FusedStream. | Nick Mathewson | 2025-09-08 | 2 | -0/+16 | |
| | | ||||||
| * | proto: Make CircuitCellSender type conditional depending on circpadding. | Nick Mathewson | 2025-09-08 | 1 | -13/+116 | |
| | | ||||||
| * | Wrap a Circuit's outbound cell queue as its own type. | Nick Mathewson | 2025-09-08 | 2 | -6/+109 | |
| | | | | | This will make it easier to refactor this as needed. | |||||
| * | SinkBlocker: Add a comment in poll_flush | Nick Mathewson | 2025-09-08 | 1 | -0/+2 | |
| | | ||||||
| * | SometimesUnboundedSink: clarifying documentation. | Nick Mathewson | 2025-09-08 | 1 | -0/+7 | |
| | | | | | | Explain how exactly its "you-must-poll-me" behavior relates to the rest of the Sink ecosystem. | |||||
| * | proto: Make CountingPolicy constructors pub(crate). | Nick Mathewson | 2025-09-08 | 1 | -3/+3 | |
| | | ||||||
| * | Require maybenot 2.2.0 for padding | Nick Mathewson | 2025-09-08 | 1 | -2/+1 | |
| | | | | | | It cleans up and changes a few things. Changelog at https://github.com/maybenot-io/maybenot/blob/main/crates/maybenot/CHANGELOG.md | |||||
| * | Merge branch 'conflux-refactor' into 'main' | gabi-250 | 2025-09-04 | 8 | -728/+739 | |
| |\ | | | | | | | | | proto: Move implementation-agnostic conflux parts to a new module See merge request tpo/core/arti!3229 | |||||
| | * | proto: Fix ConfluxStatus docs post-refactoring. | Gabriela Moldovan | 2025-09-04 | 1 | -1/+1 | |
| | | | ||||||
| | * | proto: Apply deferred fmt. | Gabriela Moldovan | 2025-09-04 | 1 | -1/+1 | |
| | | | ||||||
| | * | proto: Group the conflux imports. | Gabriela Moldovan | 2025-09-04 | 1 | -6/+2 | |
| | | | ||||||
| | * | proto: Use ConfluxCmd instead of CircuitCmd. | Gabriela Moldovan | 2025-09-04 | 5 | -52/+58 | |
| | | | | | | | | | | | | | This enables us to make the conflux handler logic implementation-agnostic (we want to avoid using `CircuitCmd` here, because it is specific to client circuits). | |||||
| | * | proto: Move abstract conflux handlers outside of the client module. | Gabriela Moldovan | 2025-09-04 | 7 | -650/+657 | |
| | | | | | | | | | | | | | | | | | | | | | This moves the shared types under `tor_proto::conflux`. Note: the shared types currently import `CircuitCmd` from `client`. A future commit will change the signature of `handle_msg` to return something other than `CircuitCmd` (this will also improve readability, because in reality, that function can never return most `CircuitCmd` variants). | |||||
| | * | proto: Move cmd_counts_towards_seqno to a new conflux module. | Gabriela Moldovan | 2025-09-04 | 4 | -56/+64 | |
| | | | | | | | | | | | | | | | `tor_proto::conflux` is where the shared conflux logic will live. Soon the generic parts of the conflux handlers will be moved there (whereas the client-specific `AbstractConfluxMsgHandler` impl will continue living under `tor_proto::client`). | |||||
| | * | proto: Make the ConfluxMsgHandler constructor take an abstract handler. | Gabriela Moldovan | 2025-09-04 | 3 | -23/+17 | |
| | | | | | | | | | | | | | This will enable us to pull `ConfluxMsgHandler` outside of the `client` module (this is needed because relays are meant to use this type as well, but with a different `AbstractMsgHandler`) | |||||
| * | | Merge branch 'sink_blocker' into 'main' | Nick Mathewson | 2025-09-04 | 4 | -0/+541 | |
| |\ \ | |/ |/| | | | | | proto: Define a new composable SinkBlocker type. See merge request tpo/core/arti!3228 | |||||
| | * | proto: Define a new composable SinkBlocker type. | Nick Mathewson | 2025-09-04 | 4 | -0/+541 | |
| | | | | | | | | | | | | | | | | | This type wraps a futures::Sink, and allows it to be temporarily blocked and unblocked. I'm going to use this to implement padding-based circuit blocking, according to the designs in !3225. | |||||
| * | | proto: Add test ensuring consecutive SWITCHes trigger tunnel teardown. | Gabriela Moldovan | 2025-09-04 | 1 | -0/+48 | |
| | | | ||||||
| * | | proto: Only send the bad test cell on one of the circuit legs. | Gabriela Moldovan | 2025-09-04 | 1 | -7/+4 | |
| | | | | | | | | | | | | | | | | | | | This makes it clearer that the tunnel shutdown is triggered correctly (i.e. that it is enough for *one* of the legs to receive the bad SWITCH cell). This also updates a comment that wrongly suggests that the tunnel is only shut down if both legs get removed from the conflux set. | |||||
| * | | proto: Pass the cc params as an argument to setup_good_conflux_tunnel. | Gabriela Moldovan | 2025-09-04 | 1 | -12/+13 | |
| | | | | | | | | | | | | | | | The test code now creates the params (which enables it to build test cases that use various params). Resolves a TODO. | |||||
| * | | proto: Add another test for SWITCH seqno validation. | Gabriela Moldovan | 2025-09-04 | 1 | -8/+7 | |
| | | | ||||||
| * | | proto: Update docs to clarify how we validate SWITCH seqnos. | Gabriela Moldovan | 2025-09-04 | 1 | -8/+6 | |
| | | | | | | | | | Also removes all the TODOs related to #2031 (which is now addressed). | |||||
| * | | proto: Close tunnel if a leg receives consecutive SWITCH cells. | Gabriela Moldovan | 2025-09-04 | 1 | -0/+14 | |
| | | | | | | | | | Closes #2031 | |||||
| * | | proto: Ensure the seqno of the first SWITCH doesn't exceed the init cwnd. | Gabriela Moldovan | 2025-09-04 | 1 | -0/+17 | |
| | | | | | | | | | This partially addresses #2031 | |||||
| * | | proto: Store the seqno of last cell delivered in the client conflux handler. | Gabriela Moldovan | 2025-09-04 | 2 | -0/+12 | |
| | | | | | | | | | | | | | This will be needed for the SWITCH seqno validation logic. Part of #2031 | |||||
| * | | proto: Pass the cwnd params to the conflux message handler. | Gabriela Moldovan | 2025-09-04 | 3 | -2/+50 | |
| | | | | | | | | | | | | | These will be used for validating SWITCH cells. Part of #2031 | |||||
| * | | proto: Pass owned CongestionWindowParams to CongestionControl::new. | Gabriela Moldovan | 2025-09-04 | 3 | -3/+4 | |
| | | | | | | | | | | | | | | | We no longer need to clone `CongestionWindowParams` now that it implements `Copy`. Resolves a clippy warning. | |||||
| * | | proto: Derive Copy for CongestionWindowParams. | Gabriela Moldovan | 2025-09-04 | 1 | -1/+1 | |
| | | | | | | | | | | | These will likely always just be a collection of integers (lightweight to copy). | |||||
| * | | Merge branch 'maybenot-triggers' into 'main' | Nick Mathewson | 2025-09-03 | 10 | -136/+373 | |
| |\ \ | | | | | | | | | | | | | Circuit padding: note when cells are sent and received See merge request tpo/core/arti!3222 | |||||
| | * | | Whoops; let chains _still_ aren't stable in 1.85. | Nick Mathewson | 2025-09-03 | 1 | -2/+1 | |
| | | | | ||||||
| | * | | padding: Fix compilation with padding disabled. | Nick Mathewson | 2025-09-03 | 1 | -1/+16 | |
| | | | | ||||||
| | * | | padding cleanup: use QueuedCellPaddingInfo one more place. | Nick Mathewson | 2025-09-03 | 1 | -5/+3 | |
| | | | | ||||||
| | * | | padding: Report when we have received padding or data. | Nick Mathewson | 2025-09-02 | 2 | -1/+8 | |
| | | | | | | | | | | | | | (This was so much easier than reporting on the send side.) | |||||
| | * | | padding: Report when outbound cells are flushed. | Nick Mathewson | 2025-09-02 | 2 | -3/+22 | |
| | | | | | | | | | | | | | | | | | | | (This is what required us to stick a padding controller handle in each CircEnt, and what required us to accompany each queued cell with a QueuedPaddingCellInfo. Ouch!) | |||||
| | * | | padding: Give CircEnt in a Channel a handle for the PaddingController. | Nick Mathewson | 2025-09-02 | 7 | -99/+169 | |
| | | | | | | | | | | | | | | | | This requires some annoying plumbing to make sure that the right types wind up in the right places. | |||||
| | * | | proto: Turn CircEnt variants into struct-like format. | Nick Mathewson | 2025-09-02 | 2 | -29/+72 | |
| | | | | | | | | | | | | | (I'm about to add more fields.) | |||||
| | * | | padding: Install a PaddingController in each circuit. | Nick Mathewson | 2025-09-02 | 3 | -5/+16 | |
| | | | | | | | | | | | | | Also, use it to report that we have queued normal data. | |||||
| | * | | padding: track which hop each queued cell is for. | Nick Mathewson | 2025-09-02 | 6 | -31/+106 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | We'll need this so that we can tell the right padding machine(s) which of them just had a queue flush. This is not yet 100% done; the unfinished parts are marked with XXXXs. | |||||
| * | | | tor-proto: fix bug in `congestion_signals` | Steven Engler | 2025-09-03 | 1 | -1/+3 | |
| | |/ |/| | ||||||
| * | | Merge branch 'maybenot-backend' into 'main' | Nick Mathewson | 2025-09-02 | 5 | -0/+1350 | |
| |\| | | | | | | | | | Define and implement a backend padding API, based on maybenot. See merge request tpo/core/arti!3185 | |||||
| | * | padding: document when we set next_scheduled_wakeup | Nick Mathewson | 2025-09-02 | 1 | -0/+3 | |
| | | | ||||||
| | * | padding: Call hops "target" rather than "final" for clarity | Nick Mathewson | 2025-09-02 | 1 | -4/+6 | |
| | | | ||||||
