<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-circmgr/src/mocks.rs, branch arti-v1.6.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.6.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.6.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-08-28T10:54:48Z</updated>
<entry>
<title>proto: Add a circuit module shared between client and relay impls.</title>
<updated>2025-08-28T10:54:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-08-26T17:48:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4ee5a4abcee895e79588888f6bc8eaa6963a6ba7'/>
<id>urn:sha1:4ee5a4abcee895e79588888f6bc8eaa6963a6ba7</id>
<content type='text'>
This is just code motion (I suggest reviewing with `--color-moved`).

This also moves the implementation-agnostic parts from
`tor_proto::client::circuit` to a new `tor_proto::circuit` module.
</content>
</entry>
<entry>
<title>Switch Cargo.toml files to edition 2024.</title>
<updated>2025-08-07T15:28:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T01:19:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=77b0de43b8c67cdb81befe0680a3df43b6ad37bc'/>
<id>urn:sha1:77b0de43b8c67cdb81befe0680a3df43b6ad37bc</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Do not fully-qualify Sync.</title>
<updated>2025-08-05T18:23:03Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-07-22T10:17:00Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=422a2545d1beff22c89e7f3ef4e8143ed23c0be7'/>
<id>urn:sha1:422a2545d1beff22c89e7f3ef4e8143ed23c0be7</id>
<content type='text'>
It's necessary and more verbose (and it's rather uncommon).
</content>
</entry>
<entry>
<title>proto: abolish path_ref() in favor of all_paths().</title>
<updated>2025-08-05T18:23:02Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-07-18T17:28:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2610fe21fc394f4cdb6cd1a91ba9d2ad72aadb01'/>
<id>urn:sha1:2610fe21fc394f4cdb6cd1a91ba9d2ad72aadb01</id>
<content type='text'>
Until now, we've been using `ClientCirc::path_ref()` to get the *only*
path of a circuit. Now that `ClientCirc` is a handle to a tunnel reactor
(which may or may not be multi-path), we need to decide for each call
site of `path_ref()`, if we actually want *all* paths in the tunnel, or
if we expect the tunnel to be single-path and thus want the *only* path
in the tunnel.

I've added two new APIs to address this: `all_paths()`, for getting all
the paths in the tunnel, and `single_path()` for getting the only path
in the tunnel, or an error if the tunnel is single-path.
</content>
</entry>
<entry>
<title>circmgr: Fix unit tests</title>
<updated>2025-08-05T18:23:02Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-07-04T14:34:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c9672becce56e005d583eafdce6cdc3b8ebf78a0'/>
<id>urn:sha1:c9672becce56e005d583eafdce6cdc3b8ebf78a0</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>circmgr: Major rename for the new Tunnel namespace</title>
<updated>2025-08-05T18:23:02Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-03-12T17:45:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=07102a45aa030a62f1b3766d198ea3baa32807e9'/>
<id>urn:sha1:07102a45aa030a62f1b3766d198ea3baa32807e9</id>
<content type='text'>
The CircMgr will no longer yield circuits but tunnels (src/tunnel.rs).
This is a first step to rename most circuit related objects to use
"tunnel" instead.

Some "circuit" names have been kept for more precise definitions.

No behavior changes.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-proto: Update the TunnelMutableState when a circuit is removed.</title>
<updated>2025-05-15T16:33:33Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-05-09T17:21:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=52c01e2e51206510ae6709a7c456d4af2ab466af'/>
<id>urn:sha1:52c01e2e51206510ae6709a7c456d4af2ab466af</id>
<content type='text'>
This is messy, because `ClientCirc::{path_ref, n_hops, ..}` become
fallible (we can't unwrap the result, because when a circuit is closed,
its state gets removed from the `TunnelSharedState`, but its
`ClientCirc` handle continues to exist, so any attempt to retrieve the
state will result in an `Err`).
</content>
</entry>
<entry>
<title>circmgr: Rename AbstractCirc::{extend_ntor =&gt; extend}</title>
<updated>2025-04-28T17:29:02Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-04-28T17:29:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5bdb18c8aa3dbb882197481b7142e2d198789e90'/>
<id>urn:sha1:5bdb18c8aa3dbb882197481b7142e2d198789e90</id>
<content type='text'>
We don't want to be thinking about ntor vs ntor3
in circmgr.
</content>
</entry>
<entry>
<title>circ: Remove CircParameters reference in call stack</title>
<updated>2025-04-23T18:36:28Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-01-22T16:35:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0c9b5c88c3b02250368ddd4606bacaf3eb387bad'/>
<id>urn:sha1:0c9b5c88c3b02250368ddd4606bacaf3eb387bad</id>
<content type='text'>
This avoids cloning the object and instead allows us to have a
CircParameters per hop on the circuit path. This will come handy with
congestion control where each hop might have different congestion
control parameters.

Part of #1817

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>CircMgr: Start writing tests.</title>
<updated>2024-10-03T12:56:16Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2024-09-24T19:54:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6454be10f160b9b4780aa0e807297afa41b5ca25'/>
<id>urn:sha1:6454be10f160b9b4780aa0e807297afa41b5ca25</id>
<content type='text'>
</content>
</entry>
</feed>
