<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/client/reactor, 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</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: Remove unused n_open_streams() functions</title>
<updated>2026-02-16T15:24:51Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-12T18:13:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a91c3d15b2be154569588f48e2ced6e8ed2e6c10'/>
<id>urn:sha1:a91c3d15b2be154569588f48e2ced6e8ed2e6c10</id>
<content type='text'>
</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: Adjust visibility in client::reactor::CircSyncView</title>
<updated>2026-02-16T15:24:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-12T18:59:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dd25194504bb26ff33e0b751d417486dd5fe2fa5'/>
<id>urn:sha1:dd25194504bb26ff33e0b751d417486dd5fe2fa5</id>
<content type='text'>
This is in preparation for replacing the top-level `CircSyncView` with
it.
</content>
</entry>
<entry>
<title>proto: Use absolute path in CircHopList import</title>
<updated>2026-02-16T15:24:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-12T18:55:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0adf44ec6eed48c235d3ea57afb7ad205f101a5f'/>
<id>urn:sha1:0adf44ec6eed48c235d3ea57afb7ad205f101a5f</id>
<content type='text'>
This file will be moved to the top-level `circuit` module soon.
</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>proto: Add an accessor for the CircHopOutbound of a CircHop</title>
<updated>2026-02-16T15:24:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-02-12T17:55:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ccc2eb2ccc434e51f809c27e76181e7ca64a9b16'/>
<id>urn:sha1:ccc2eb2ccc434e51f809c27e76181e7ca64a9b16</id>
<content type='text'>
This will soon be needed for building a `CircSyncView`.
</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>
</feed>
