<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/client/reactor, 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: Rip CC state out of CircHopInbound</title>
<updated>2026-01-29T16:33:21Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-16T16:51:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ce6c90cca94b02e6d78d7cca7f01ec4f675f4c28'/>
<id>urn:sha1:ce6c90cca94b02e6d78d7cca7f01ec4f675f4c28</id>
<content type='text'>
Soon it won't need be needed here any more. I'm removing it, because
having redundant handles to the CC state makes it difficult to see
exactly where it's being used from.
</content>
</entry>
<entry>
<title>proto: Move padding_disposition() to the shared padding module</title>
<updated>2026-01-29T16:33:21Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-23T14:40:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=67c35a98388f6eaeea852e44d8a858ebf815a59f'/>
<id>urn:sha1:67c35a98388f6eaeea852e44d8a858ebf815a59f</id>
<content type='text'>
</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: Move TimeoutEstimator to util</title>
<updated>2026-01-29T16:33:21Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-12T10:44:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5c5bf40652f00fff3205fc5a2ff44ad48e96b8de'/>
<id>urn:sha1:5c5bf40652f00fff3205fc5a2ff44ad48e96b8de</id>
<content type='text'>
This will be used in the stream reactor too (and the stream reactor will
eventually replace the corresponding client impl).
</content>
</entry>
<entry>
<title>proto: Dedupe IncomingStreamRequestHandler</title>
<updated>2026-01-12T19:10:54Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-01-12T18:50:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=271603e38f5be23ae3ff756a18fb87406a933e9d'/>
<id>urn:sha1:271603e38f5be23ae3ff756a18fb87406a933e9d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Rename CircuitAction and cie to CircuitEvent</title>
<updated>2025-12-10T16:04:26Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-12-10T15:20:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7e69f0b2d31acfad14c3d046e89f8633626785f8'/>
<id>urn:sha1:7e69f0b2d31acfad14c3d046e89f8633626785f8</id>
<content type='text'>
This mirrors also the relay reactor. We've introduced the ProtoViolation
into a previous commit which is not an action but rather an "event" that
happened on a circuit.

And so, better semantic. No behavior change.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Rename Circuit{Action/Event}::Shutdown to ProtoViolation</title>
<updated>2025-12-10T16:04:26Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-12-10T14:24:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1c97ec8836f227209e8dbc19253afcbe1f9e2610'/>
<id>urn:sha1:1c97ec8836f227209e8dbc19253afcbe1f9e2610</id>
<content type='text'>
Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Add TODO in client reactor for bad cell</title>
<updated>2025-12-10T16:04:26Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-12-09T15:06:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d83f860282020e535a50ebb183fe27e41b2d5830'/>
<id>urn:sha1:d83f860282020e535a50ebb183fe27e41b2d5830</id>
<content type='text'>
Because of https://gitlab.torproject.org/tpo/core/torspec/-/issues/385

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</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>
</feed>
