<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/circuit.rs, branch arti-v2.3.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.3.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.3.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-04-14T20:10:18Z</updated>
<entry>
<title>proto: Add a test helper function for building a CircNetParameters</title>
<updated>2026-04-14T20:10:18Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2026-04-14T19:43:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4ac851f19aa4748d928858739b31f80362c8f2a4'/>
<id>urn:sha1:4ac851f19aa4748d928858739b31f80362c8f2a4</id>
<content type='text'>
We can't access `NetParameters` in this crate to build from consensus
default value so instead add a `defaults_for_tests()` gated function for
each parameters object which puts in the defaults from the spec.

We'll need CircNetParameters in order to build create request handler
for unit tests hence why it is in src/circuit.rs.
</content>
</entry>
<entry>
<title>proto: Rename CircSyncView to CircHopSyncView</title>
<updated>2026-02-16T15:24:51Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-12T19:10:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a6b28b785a2d26e7b89c32ad1f957813d707d90b'/>
<id>urn:sha1:a6b28b785a2d26e7b89c32ad1f957813d707d90b</id>
<content type='text'>
And update the docs
</content>
</entry>
<entry>
<title>proto: Move CREATE helpers to a shared module</title>
<updated>2026-02-05T16:04:59Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-05T15:41:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c99d76dd41e9a87e9041b0aa13ed4feb55f02a41'/>
<id>urn:sha1:c99d76dd41e9a87e9041b0aa13ed4feb55f02a41</id>
<content type='text'>
These will be used by the relay code too (for circuit extension).
</content>
</entry>
<entry>
<title>proto: Avoid locking in CircHopOutbound::ccontrol()</title>
<updated>2026-01-29T16:33:21Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-22T11:54:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=29159e80c713ea4ab1ab657c7eeae53f37e62814'/>
<id>urn:sha1:29159e80c713ea4ab1ab657c7eeae53f37e62814</id>
<content type='text'>
This is just because the generic reactor will soon need a clone of the
CC object, so I am preemptively making this function return a ref to the
underlying `Arc` instead. Technically, it would've been fine to just
kept this method and add a separate one returning `&amp;Arc&lt;Mutex&lt;..&gt;&gt;`,
but I'd prefer keeping the API small.
</content>
</entry>
<entry>
<title>proto: Add a new module for the generic circuit reactor</title>
<updated>2026-01-29T16:33:21Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-21T18:11:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5fc5120dcca5b470fbc2281e47b86be7302c9d0b'/>
<id>urn:sha1:5fc5120dcca5b470fbc2281e47b86be7302c9d0b</id>
<content type='text'>
Currently empty, will be fleshed out in a future commit.
</content>
</entry>
<entry>
<title>proto; Factor HOPS constant out of maybenot_padding</title>
<updated>2026-01-29T16:33:21Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-14T11:40:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0189413e0581ea7c852c87663fe4a24511e3158b'/>
<id>urn:sha1:0189413e0581ea7c852c87663fe4a24511e3158b</id>
<content type='text'>
I am about to use this in other places too.
</content>
</entry>
<entry>
<title>proto: Move CircPaddingDisposition to a new module</title>
<updated>2026-01-29T16:33:21Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-23T14:30:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=93db46cc7e5124e2211e54c43652fafebcddae35'/>
<id>urn:sha1:93db46cc7e5124e2211e54c43652fafebcddae35</id>
<content type='text'>
Relays will need to use it too.
</content>
</entry>
<entry>
<title>proto: #[macro_use] be gone!</title>
<updated>2025-12-10T16:04:26Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-12-10T14:48:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7e75cf8408365b83c236a305a5c014c94d9f1069'/>
<id>urn:sha1:7e75cf8408365b83c236a305a5c014c94d9f1069</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Client circuit reactor now handles AnyChanMsg</title>
<updated>2025-12-10T16:03:12Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-12-08T19:16:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d5ad6142db84d917f0035060f92678da3ba98ee1'/>
<id>urn:sha1:d5ad6142db84d917f0035060f92678da3ba98ee1</id>
<content type='text'>
This commit removes the CircuitRx* based solely on the client circuit
message and moves it into the top level of the crate so all reactors can
use them.

The client reactor then upon receiving the message, it converts the
AnyChanMsg into a ClientCircChanMsg. On error, this leads to a shutdown
of the entire reactor due to a fatal error.

In order to pull this off, we added a CircuitAction::Shutdown that is
handled as a priority.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Move ClientCircChanMsg into client module</title>
<updated>2025-12-10T16:03:11Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-12-08T18:15:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f3b6759079b571a6c3052adb9d1079df875bdf50'/>
<id>urn:sha1:f3b6759079b571a6c3052adb9d1079df875bdf50</id>
<content type='text'>
Next commit will also move the Relay specific set into the relay module.
These two sets are becoming specific to the reactor as the circuit
reactor communication channel will use AnyChanMsg instead.

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