aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-proto/src/congestion/fixed.rs
Commit message (Collapse)AuthorAgeFilesLines
* tor-proto: vegas: return early if clock stall was detectedSteven Engler2026-05-071-1/+2
|
* proto: Make CongestionWindow CopyGabriela Moldovan2025-11-171-1/+1
|
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-071-1/+1
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* tor-proto: add `CongestionControl::uses_xon_xoff()`Steven Engler2025-07-161-0/+4
|
* tor-proto: Add an accessor for the cc algorithm.Gabriela Moldovan2025-06-111-1/+10
| | | | | | Conflux is only supported when prop324 congestion control is enabled, so we need an accessor for the cc algorithm of a given circuit hop in order for the conflux code to be able to check *which* cc algorithm is in use.
* tor-proto: Add congestion control accessors for conflux.Gabriela Moldovan2025-05-061-0/+5
|
* tor-proto: rename `allow_stream_sendme` to `uses_stream_sendme`Steven Engler2025-04-231-1/+1
| | | | | We use this method to decide whether to allow receiving stream SENDMEs, and also whether we should send stream SENDMEs.
* circ: Don't send stream level SENDME with CCDavid Goulet2025-04-231-0/+4
| | | | | | | | | | | | | This adds a new function to the CongestionControl object that returns true or false on if stream level SENDMEs are allowed by the underlying algorithm. Congestion control Vegas doesn't allow them as in it retires them and so we avoid sending them for that algorithm. Part of #1817 Signed-off-by: David Goulet <[email protected]>
* congestion: Remove duplicated commentsDavid Goulet2025-01-161-13/+0
| | | | | | No need to have these comments in the implementation of the Trait. Signed-off-by: David Goulet <[email protected]>
* proto: New CongestionControl object and fixed window algorithmDavid Goulet2025-01-161-0/+89
Add the top level CongestionControl object that will allow the circuit reactor to use it in order to decide if a cell can be sent or not. In order to be used, it is configured with an algorithm that implements the CongestionControlAlgorithm trait. The Fixed Window algorithm is also added which essentially implements the SENDME logic as arti knows it today with a fixed window size. The SENDME code has been refactor in two different logical steps in order to accomodate the future Vegas algorithm for which the congestion window logic and SENDME validity is seperated. There is now a SENDME validator that takes care of tracking the tags (authenticated SENDMEs) and validating them upon reception. Then, if valid, the window management is passed down the congestion control algorithm, at this commit, FixedWindow object. Related #534 Signed-off-by: David Goulet <[email protected]>