<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/circuit.rs, branch arti-v2.0.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.0.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.0.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-01-29T16:33:21Z</updated>
<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>
<entry>
<title>Merge branch 'cell-sender' into 'main'</title>
<updated>2025-11-10T14:37:57Z</updated>
<author>
<name>Alexander Hansen Færøy</name>
<email>ahf@torproject.org</email>
</author>
<published>2025-11-10T14:37:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=60098594eddf8aac5c00a13810649ce5fe1e5939'/>
<id>urn:sha1:60098594eddf8aac5c00a13810649ce5fe1e5939</id>
<content type='text'>
proto: Move cell_sender out of the client module

See merge request tpo/core/arti!3407</content>
</entry>
<entry>
<title>proto: Add a new CircSyncView type</title>
<updated>2025-10-30T18:37:26Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-10-30T11:13:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f61a3d5d9af779712ecf1dbbf807f69e331c741d'/>
<id>urn:sha1:f61a3d5d9af779712ecf1dbbf807f69e331c741d</id>
<content type='text'>
This will replace ClientCircView in the IncomingStreamRequestFilter
APIs, which will enable us to use IncomingStreamRequestFilter for
incoming streams on the exit side too.
</content>
</entry>
<entry>
<title>proto: Move cell_sender out of the client module</title>
<updated>2025-10-28T15:39:13Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-10-23T10:10:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d6b0a0763aa49b4c48e318ce2cbb04bc6873b7bd'/>
<id>urn:sha1:d6b0a0763aa49b4c48e318ce2cbb04bc6873b7bd</id>
<content type='text'>
Soon we'll use CircuitCellSender in the relay reactor too (we need to,
because it provides a useful abstraction for handling block/unblock
padding actions, and because it has some handy helper functions such as
`congestion_signals()`).
</content>
</entry>
</feed>
