<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/circuit, branch arti-v2.1.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.1.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v2.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-02-16T15:24:51Z</updated>
<entry>
<title>proto: Rename CircSyncView to CircHopSyncView (fmt)</title>
<updated>2026-02-16T15:24:51Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-12T19:22:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4a1bb2bda7fe2116ebdcf1a9df4e33bfc78ae054'/>
<id>urn:sha1:4a1bb2bda7fe2116ebdcf1a9df4e33bfc78ae054</id>
<content type='text'>
</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: Use CircSyncView in the new circuit reactor</title>
<updated>2026-02-16T15:24:51Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-12T18:11:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5d3b887f4b75b0e74530f1961e54f6ef06897bd9'/>
<id>urn:sha1:5d3b887f4b75b0e74530f1961e54f6ef06897bd9</id>
<content type='text'>
Now that CircSyncView no longer needs to know the total number of
streams, we can use it in the new per-hop stream reactor design.
</content>
</entry>
<entry>
<title>proto: Replace circuit-scoped n_open_streams() with per-hop alternative</title>
<updated>2026-02-16T15:24:51Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-12T17:52:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4a5659119bfe8f352340c042b7897ce7562bc07b'/>
<id>urn:sha1:4a5659119bfe8f352340c042b7897ce7562bc07b</id>
<content type='text'>
`IncomingStreamRequestFilter`s, and `CircSyncView`s, by extension, are used
both by old relay implementation and the new one for implementing an
out-of-reactor way of deciding how to handle an incoming stream.

In the new circuit reactor design, we have a separate stream reactor for
each hop. Upon receiving an incoming stream, the stream reactor will
need to build one of these `CircSyncView` objects, and then pass it to
an externally-provided `IncomingStreamRequestFilter`. Before this
change, `CircSyncView::n_open_streams()` returned the total number of
open streams, which wouldn't have worked with the new reactor design,
because the per-hop stream reactor doesn't have a global view of all the
hops, so its `CircSyncView` can't return the total number of streams (at
least not without message passing, or sharing state with the other
stream reactors).
</content>
</entry>
<entry>
<title>proto: Replace CircSyncView with previously client-only CircSyncView</title>
<updated>2026-02-16T15:24:51Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-16T10:58:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=863ee4fe98b66d0dd8c7c53f98a6ab1c2ff347f2'/>
<id>urn:sha1:863ee4fe98b66d0dd8c7c53f98a6ab1c2ff347f2</id>
<content type='text'>
Note: this commit only contains the removal of the old `CircSyncView`,
and it of course doens't compile. A future commit will replace the
removed file with the `syncview.rs` from the client module.

This change is split over two commits because it makes reviewing easier
(`git mv`ing the new file over the old results in a confusing diff,
because `git` refuses to show it as a move).
</content>
</entry>
<entry>
<title>proto: Rename ClientCircSyncView to CircSyncView</title>
<updated>2026-02-16T15:24:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-12T18:53:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=62ab502560a5a22f5e95901f8b8572edc7d13550'/>
<id>urn:sha1:62ab502560a5a22f5e95901f8b8572edc7d13550</id>
<content type='text'>
This will soon replace `CircSyncView` wholesale. The preliminary
renaming will make the future diffs easier to review.
</content>
</entry>
<entry>
<title>Revert "proto: Add a new ToRelayMsg util"</title>
<updated>2026-02-12T16:35:14Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-11T14:02:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ac562cbef392108c1a9a723f4fb336a6831eb809'/>
<id>urn:sha1:ac562cbef392108c1a9a723f4fb336a6831eb809</id>
<content type='text'>
This reverts commit 04ab3cd848d7977baf58dd64ebfcad6aa54ecb17.

Reverted because we no longer need to "peek" into the opaque
`CircChanMsg` of a circuit reactor: now the implementation-dependent
part of the reactor is in charge of handling the channel messages,
and extracting `Relay` objects out of RELAY/RELAY_EARLY cells,
which then get processed in the base reactor.
</content>
</entry>
<entry>
<title>proto: Move decode_relay_cell() out of ForwardHandler</title>
<updated>2026-02-12T16:35:14Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-11T18:03:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=338c3805a93e2e7178e1e501f45756c89facb0a3'/>
<id>urn:sha1:338c3805a93e2e7178e1e501f45756c89facb0a3</id>
<content type='text'>
This doesn't need to be part of the `ForwardHandler` trait anymore,
because the base reactor no longer calls it directly (instead
implementations are supposed to handle it internally).

No functional changes here, just code motion.
</content>
</entry>
<entry>
<title>proto: Forbid EXTEND2 from RELAY cells</title>
<updated>2026-02-12T16:35:14Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-11T18:33:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f89a01966f5e25a4cd871f62476f164959910ffe'/>
<id>urn:sha1:f89a01966f5e25a4cd871f62476f164959910ffe</id>
<content type='text'>
Closes #2339
</content>
</entry>
<entry>
<title>proto: Pass the early flag to handle_relay_msg() (fmt)</title>
<updated>2026-02-12T16:35:14Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-11T18:20:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f091e13d7f1192d7bd9a53e39fb6aa799fea79ae'/>
<id>urn:sha1:f091e13d7f1192d7bd9a53e39fb6aa799fea79ae</id>
<content type='text'>
</content>
</entry>
</feed>
