<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/congestion/params.rs, branch arti-v1.4.5</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.5</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.5'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-06-11T17:48:35Z</updated>
<entry>
<title>tor-proto: Remove no-longer needed clone()s.</title>
<updated>2025-06-11T17:48:35Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-03-21T18:17:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2f332ad090fef8d333e179be33deadaeb39f4c13'/>
<id>urn:sha1:2f332ad090fef8d333e179be33deadaeb39f4c13</id>
<content type='text'>
This doesn't really change anything, but removing the `.clone()` makes
it a bit more obvious that copying the `*Params` is a lightweight
operation.
</content>
</entry>
<entry>
<title>tor-proto: Derive Copy for FixedWindowParams.</title>
<updated>2025-06-11T17:40:46Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-03-21T18:26:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d9adad6d45b1ed7e965a01e83a6c6c751c7c32c8'/>
<id>urn:sha1:d9adad6d45b1ed7e965a01e83a6c6c751c7c32c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Derive Copy for VegasParams.</title>
<updated>2025-06-11T17:15:00Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-03-21T18:16:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=601f3a65f2cdb11f2b3313f03c671cdb6b789716'/>
<id>urn:sha1:601f3a65f2cdb11f2b3313f03c671cdb6b789716</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Refactor cc fallback.</title>
<updated>2025-06-10T15:52:28Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-06-05T16:38:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fef3034648dede7cc5fb2d698f2825e44144fe24'/>
<id>urn:sha1:fef3034648dede7cc5fb2d698f2825e44144fe24</id>
<content type='text'>
The fallback CC algorithm is _always_ fixed-window, and we should only
use it when the selected CC algorithm is not supported.
</content>
</entry>
<entry>
<title>Move responsibility for choosing extensions into tor-proto</title>
<updated>2025-06-10T15:52:28Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-06-05T16:23:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=11fe4bb4d74e4f936bc360f6b5c5cf539e94b99c'/>
<id>urn:sha1:11fe4bb4d74e4f936bc360f6b5c5cf539e94b99c</id>
<content type='text'>
Now tor-circmgr no longer needs to check which Protover capabilities
are enabled, or construct a separate CircParameters for each hop.
Instead, tor-proto decides whether to use the fallback CC mode,
based on whether the target supports FLOWCTRL_CC.

Closes #1967.
</content>
</entry>
<entry>
<title>proto: Split CircParameters and NegotiatedHopSettings</title>
<updated>2025-06-10T15:52:28Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-06-04T17:16:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a78b8580454dfe4ccb24a8d81a7d824f60e003a0'/>
<id>urn:sha1:a78b8580454dfe4ccb24a8d81a7d824f60e003a0</id>
<content type='text'>
One type will now represent _the kind of hop we are asking
tor-proto to negotiate_; the other will represent
_the state of such negotiation_.

This doesn't simplify the code much yet, but it will be helpful
as we add more and more negotiable settings.

Part of #1967
</content>
</entry>
<entry>
<title>tor-proto: expand docs for `CongestionWindowParams::set_sendme_inc`</title>
<updated>2025-04-23T18:38:25Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-04-17T03:19:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b0deeca5b39c53c8523cc6f10bd34bda8862528e'/>
<id>urn:sha1:b0deeca5b39c53c8523cc6f10bd34bda8862528e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests: Add CC ntorv3 negotiation unit test</title>
<updated>2025-04-23T18:36:28Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-01-22T20:12:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e8b72b7400aa7f34cf9465818307f59433f4e8f0'/>
<id>urn:sha1:e8b72b7400aa7f34cf9465818307f59433f4e8f0</id>
<content type='text'>
Also add one for the sendme_inc validity function.

Part of #1817

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>circ: Apply possible subprotocol changes to circ params</title>
<updated>2025-04-23T18:36:28Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-01-22T16:41:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e1064562c3f718325b9930d7d6120be38a445b27'/>
<id>urn:sha1:e1064562c3f718325b9930d7d6120be38a445b27</id>
<content type='text'>
Congestion control can change the circuit parameters if the relay we are
negotiating with doesn't support FlowCtrl=2.

This commit adds a function in the circuit builder that will apply any
changes to the circuit parameters of the hop based on the hop protocol
values. For now, only congestion control applies.

Part of #1817

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>congestion: Setup a fallback algorithm in the params</title>
<updated>2025-04-23T18:36:28Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-01-22T16:17:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f4a0429dbb20f3087c9591344f8d701cef77a7e7'/>
<id>urn:sha1:f4a0429dbb20f3087c9591344f8d701cef77a7e7</id>
<content type='text'>
CircParameters is built before path selection and thus once we start
building the hops, we can't access the consensus values that were used
to build it in the first place.

For congestion control, we require a fallback algorithm in case the hop
doesn't support FlowCtrl=2.

This commit adds a "fallback_alg" to the CC parameters which will be
used for this exact case.

Part of #1817

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
</feed>
