aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-proto/src/congestion/sendme.rs
Commit message (Collapse)AuthorAgeFilesLines
* maint: Run maint/add_warning to deny string slicesClara Engler2026-06-091-0/+1
| | | | | | | | | | | | This commit executes maint/add_warning with the just added change to deny string slices except in tests. I recommend auditing this by checking out the previous commit followed by running the script yourself and then verifying that the diff is identical to this commit. This commit makes cargo clippy fail. We will add exceptions in the next commit.
* proto: Use is_multiple_of() as suggested by clippyGabriela Moldovan2026-02-161-1/+1
|
* Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-061-1/+1
| | | | Run maint/add_warning
* 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.
* Remove the last traces of CircTag.Nick Mathewson2025-05-061-3/+0
|
* proto: Use SendmeTag in place of CircTagNick Mathewson2025-05-061-38/+2
| | | | | This doesn't make much change yet, but does save us an allocation when handling SENDMEs.
* Add a RelayCellFormat argument to encode().Nick Mathewson2025-04-161-2/+3
| | | | | | | | | This will let us actually _send_ messages in the right format. This approach is not ideal for packed/fragmented messages; they will need a separate RelayCellEncoder. part of #1944.
* tor-proto: Use SENDME_TAG_LEN constant instead of magic value.Gabriela Moldovan2025-01-281-6/+7
|
* tor-proto: Use CircTag::try_from for clarity.Gabriela Moldovan2025-01-281-0/+10
|
* tor-proto: Use CircTag instead of raw byte slice.Gabriela Moldovan2025-01-281-1/+1
|
* proto: New CongestionControl object and fixed window algorithmDavid Goulet2025-01-161-0/+418
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]>