<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/congestion/rtt.rs, branch main</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=main</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-06-09T15:36:01Z</updated>
<entry>
<title>maint: Run maint/add_warning to deny string slices</title>
<updated>2026-06-09T15:36:01Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2026-06-09T15:36:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9f5752a77fb57052c06ead0eeae606831f1e8e97'/>
<id>urn:sha1:9f5752a77fb57052c06ead0eeae606831f1e8e97</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>tor-proto: rtt: return clock stall/jump status from `update()`</title>
<updated>2026-05-07T19:06:39Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-05-07T19:05:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8d90606eaee9dc6d749958ff8e54ca3b172ab8e6'/>
<id>urn:sha1:8d90606eaee9dc6d749958ff8e54ca3b172ab8e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Port to web-time-compat</title>
<updated>2026-03-26T19:20:16Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-03-26T14:33:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=11f365738ade6ba75eedee83d7d19f8877da7d65'/>
<id>urn:sha1:11f365738ade6ba75eedee83d7d19f8877da7d65</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix name of clippy lint to unchecked_time_subtraction (2)</title>
<updated>2025-11-06T11:28:22Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-11-06T11:23:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff'/>
<id>urn:sha1:a5fd5c48ea059a80cc1f6c50e248654b5ff3aaff</id>
<content type='text'>
Run maint/add_warning
</content>
</entry>
<entry>
<title>proto: Add an accessor for the max observed circ RTT.</title>
<updated>2025-09-16T14:10:33Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-09-10T15:57:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dc1ebe51e1de3476c037c1c0e46de466ff4edbd9'/>
<id>urn:sha1:dc1ebe51e1de3476c037c1c0e46de466ff4edbd9</id>
<content type='text'>
We will need this to calculate the END ack timeout.
</content>
</entry>
<entry>
<title>clippy: fix `clippy::duplicated_attributes` warnings</title>
<updated>2025-08-11T15:22:24Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-08-11T15:22:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=327f6a31c0fed9ff0b17ac2257157274fbe6d4cb'/>
<id>urn:sha1:327f6a31c0fed9ff0b17ac2257157274fbe6d4cb</id>
<content type='text'>
```text
warning: duplicated attribute
   --&gt; crates/tor-hsservice/src/timeout_track.rs:630:14
    |
630 |     #![allow(clippy::needless_pass_by_value)] // TODO hoist into standard lint block
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
</content>
</entry>
<entry>
<title>proto: Make RttEstimator::{ewma,min}_rtt_usec() return `Option`.</title>
<updated>2025-06-27T14:16:16Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-06-25T18:58:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1e4a9161e78b78aadbe777cd5e4991a2582c8918'/>
<id>urn:sha1:1e4a9161e78b78aadbe777cd5e4991a2582c8918</id>
<content type='text'>
A `None` value signals to the conflux code to know to fall back on the
initial RTT of the circuit.

Without this change, the conflux switching logic is broken as we end up
staying on the leg with the best initial RTT forever (the other leg is
never picked, because its `ewma_rtt()` is stuck on `u32::MAX`, and never
updated as we never send on it).
</content>
</entry>
<entry>
<title>proto: Rewrite can_crosscheck_with_current_estimate for clarity.</title>
<updated>2025-06-25T16:21:46Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-06-25T16:04:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=65d565ccfe7880ab0e3b6ba70c1f822ace224246'/>
<id>urn:sha1:65d565ccfe7880ab0e3b6ba70c1f822ace224246</id>
<content type='text'>
The expanded expression makes it easier to see that
`can_crosscheck_with_current_estimate()` can never return `true` if
`self.ewma_rtt` is `None`, and that the `expect()` from
`is_clock_stalled()` cannot panic.
</content>
</entry>
<entry>
<title>proto: Make RTT estimates default to None (fmt).</title>
<updated>2025-06-25T16:21:46Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-06-25T16:03:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2c061d5589858a73539a1a078f993071103574a5'/>
<id>urn:sha1:2c061d5589858a73539a1a078f993071103574a5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Make RTT estimates default to None.</title>
<updated>2025-06-25T16:21:46Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-06-25T15:43:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1a901b349a53b3a625b76af923324da90a39a82b'/>
<id>urn:sha1:1a901b349a53b3a625b76af923324da90a39a82b</id>
<content type='text'>
The `RttEstimator` now uses `None` to represent not-yet-measured RTTs.

Previously, all the measured RTTs defaulted to 0, in contradiction with
the `RttEstimator::{min,ewma}_rtt_usec()` docs, which state that both
functions are supposed to return `u32::MAX` if there is no estimate.

Closes #2049
</content>
</entry>
</feed>
