<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/congestion.rs, branch arti-v1.4.0</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.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-01-30T08:39:30Z</updated>
<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>congestion: Use getters for all parameters</title>
<updated>2025-01-16T14:16:01Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-01-15T15:29:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2fd9a4d5b814b3a0aa031313d081f0d306016908'/>
<id>urn:sha1:2fd9a4d5b814b3a0aa031313d081f0d306016908</id>
<content type='text'>
Allows us to remove the pub.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>congestion: Move code to test module</title>
<updated>2025-01-16T14:16:01Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-01-08T20:09:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=36cfc3efb7e88de2b2fd4ee926fe6aa2dc9e1fd0'/>
<id>urn:sha1:36cfc3efb7e88de2b2fd4ee926fe6aa2dc9e1fd0</id>
<content type='text'>
Put code for test inside the test module instead of gated by a
cfg(test).

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>congestion: Add standard clippy checks to tests</title>
<updated>2025-01-16T14:16:01Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-01-08T19:04:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=69d4df8eca23637f68d1e83027dc4f3ebcc52a43'/>
<id>urn:sha1:69d4df8eca23637f68d1e83027dc4f3ebcc52a43</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>congestion: Some comments and mod syntax tweaking</title>
<updated>2025-01-16T14:16:01Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-01-08T17:02:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=61bfee82458b6d4ec7d3887e49ce995765f942da'/>
<id>urn:sha1:61bfee82458b6d4ec7d3887e49ce995765f942da</id>
<content type='text'>
Don't put in the comments, let the top-level module comments do that
job.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>congestion: Make a test_utils.rs</title>
<updated>2025-01-16T14:16:01Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-01-08T15:50:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6a1ee397fad1a5936e1f90d2c2c0744f8a0536fd'/>
<id>urn:sha1:6a1ee397fad1a5936e1f90d2c2c0744f8a0536fd</id>
<content type='text'>
Instead of having the congestion.rs test module public, make a
test_utils.rs file that contains code for other unit tests within the
congestion module.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Add Vegas congestion control algorithm</title>
<updated>2025-01-16T14:16:01Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2024-04-30T14:14:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b358a23899bd600b0018cf151e04c990a2d92aa1'/>
<id>urn:sha1:b358a23899bd600b0018cf151e04c990a2d92aa1</id>
<content type='text'>
The big one! This is the Vegas algorithm implementation that is hooked
to the CongestionControl object by implementing the algorithm trait.

Still, at this commit, nothing is being used by the circuit reactor yet.

Related #534

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: New CongestionControl object and fixed window algorithm</title>
<updated>2025-01-16T14:16:01Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2024-04-30T14:05:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=56e062c4a911440a6d5cfb612140c8225e27a7fe'/>
<id>urn:sha1:56e062c4a911440a6d5cfb612140c8225e27a7fe</id>
<content type='text'>
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 &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Add generic objects for congestion control</title>
<updated>2025-01-16T14:16:01Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2024-04-30T13:52:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=aff3033aa59d0c135cc47d4b3c1e921d90707aca'/>
<id>urn:sha1:aff3033aa59d0c135cc47d4b3c1e921d90707aca</id>
<content type='text'>
This commit adds the congestion window object, a round trip estimator
(RTT) and a state enum. These 3 entities are used by congestion control
in a generic way that is they are passed and used by any algorithm.

At this commit, they are not used hence the allow deadcode attribute for
now in order to minimize the build warnings.

We also introduce the params.rs file containing the parameters, taken
from consensus, used to configure these objects. They will be exposed to
the tor-cirmgr crate to build the CircParameters. More will come.

This also introduces the congestion/ directory that will contain more
code in future commits.

Related #534

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