<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/congestion, branch arti-v1.4.3</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.3</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.3'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-04-23T18:38:25Z</updated>
<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>tor-proto: rename `allow_stream_sendme` to `uses_stream_sendme`</title>
<updated>2025-04-23T18:38:25Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-04-17T02:54:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6bca46e154084f1f76612bc8dee8706d835c14e3'/>
<id>urn:sha1:6bca46e154084f1f76612bc8dee8706d835c14e3</id>
<content type='text'>
We use this method to decide whether to allow receiving stream SENDMEs,
and also whether we should send stream SENDMEs.
</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: Don't send stream level SENDME with CC</title>
<updated>2025-04-23T18:36:28Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-01-22T19:06:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0528a4729485237cace58827236f4d459f383628'/>
<id>urn:sha1:0528a4729485237cace58827236f4d459f383628</id>
<content type='text'>
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 &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>
<entry>
<title>circ: Set the negotiated CC sendme_inc from handshake</title>
<updated>2025-04-23T18:36:28Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-01-22T15:15:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a10054323c10a3b6f20db6389633faf8d7ebc749'/>
<id>urn:sha1:a10054323c10a3b6f20db6389633faf8d7ebc749</id>
<content type='text'>
When receiving the congestion control response extension, evaluate our
state and set the sendme_inc if valid in our circuit parameters.

For this, a series of helper functions is needed.

Part of #1817

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>Add a RelayCellFormat argument to encode().</title>
<updated>2025-04-16T14:58:49Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-04-09T17:33:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=18d314e9985562a9548044920eaf0caf4935788a'/>
<id>urn:sha1:18d314e9985562a9548044920eaf0caf4935788a</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>fix: fix typos</title>
<updated>2025-01-30T08:39:30Z</updated>
<author>
<name>Dimitris Apostolou</name>
<email>dimitris.apostolou@icloud.com</email>
</author>
<published>2025-01-30T08:39:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6371829c976f6a5b77d46bf977f369a915f2ced3'/>
<id>urn:sha1:6371829c976f6a5b77d46bf977f369a915f2ced3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Use SENDME_TAG_LEN constant instead of magic value.</title>
<updated>2025-01-28T14:07:53Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-01-27T10:55:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b00857d084a1e2dd46267e63d6c547f631290f8a'/>
<id>urn:sha1:b00857d084a1e2dd46267e63d6c547f631290f8a</id>
<content type='text'>
</content>
</entry>
</feed>
