<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/client.rs, branch main</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=main</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-07-30T21:34:23Z</updated>
<entry>
<title>tor-cell: rename `XonKbpsEwma` to `XonKBpsEwma`</title>
<updated>2026-07-30T21:34:23Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-07-30T21:01:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0fecfa9a0102ff58676bcb0c5e36eed4996a68f4'/>
<id>urn:sha1:0fecfa9a0102ff58676bcb0c5e36eed4996a68f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>multiple crates: Fix clippy warnings</title>
<updated>2026-07-10T14:50:50Z</updated>
<author>
<name>hjrgrn</name>
<email>3874-hjrgrn@gitlab.torproject.org</email>
</author>
<published>2026-07-10T14:12:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c1a50610f1fd134b16792ba32b30eb03a7e6b666'/>
<id>urn:sha1:c1a50610f1fd134b16792ba32b30eb03a7e6b666</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Add crate-level exports for two extra stream types (fmt)</title>
<updated>2026-06-17T13:38:44Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2026-06-17T13:31:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d305c6c0a201703ce14fbcfdce1864aeda9cc8dc'/>
<id>urn:sha1:d305c6c0a201703ce14fbcfdce1864aeda9cc8dc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: destructure the `ReactorStreamComponents`</title>
<updated>2026-05-21T16:35:59Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-05-21T15:23:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4c1ddd2de31ff622d0244f5456527fe035e467ae'/>
<id>urn:sha1:4c1ddd2de31ff622d0244f5456527fe035e467ae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: have `StreamReqInfo` store a `ReactorStreamComponents`</title>
<updated>2026-05-21T16:35:59Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-05-21T15:13:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3ae295c879f773b8c6e922436fb96c020777555a'/>
<id>urn:sha1:3ae295c879f773b8c6e922436fb96c020777555a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: move more stream queue init to reactor</title>
<updated>2026-05-21T16:35:59Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-05-21T01:57:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e62d824614fc501d21f6b58f1e98346bf495e1e3'/>
<id>urn:sha1:e62d824614fc501d21f6b58f1e98346bf495e1e3</id>
<content type='text'>
Previously when initializing a stream, we constructed most of the
stream-related queues outside of the reactor and passed the relevant
halves of the queues (senders or receivers) into the reactor.

A downside of the above approach is that the reactor may be better
informed about what queues to construct, and how to construct them. For
example the reactor knows what type of flow control that the hop is
using, so it knows whether we need queues for passing rate limits and
drain rates for XON/XOFF flow control.

This commit moves the construction of these queues into the reactor and
passes the relevant halves out of the reactor. In the future we can make
better decisions about which queues are needed depending on the flow
control method used instead of always constructing them (see arti#2068).

Reviewing with `--color-moved` might be helpful as a few lines have been
moved.
</content>
</entry>
<entry>
<title>tor-proto: add `ReactorStreamComponents` to bundle return vals</title>
<updated>2026-05-21T01:52:49Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-05-20T19:29:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2801a1b30f50488ca79bbe21d3061b07fe40b945'/>
<id>urn:sha1:2801a1b30f50488ca79bbe21d3061b07fe40b945</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: move stream incoming queue init to reactor</title>
<updated>2026-05-21T00:36:59Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2026-05-12T22:36:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=be505ab176da88dd8cea7e3a42530d81fb0267b5'/>
<id>urn:sha1:be505ab176da88dd8cea7e3a42530d81fb0267b5</id>
<content type='text'>
The stream queue length (for messages incoming from the Tor network)
depends on the type of flow control we're using for the hop. Currently
we construct the stream queue outside of the circuit reactor, but we
don't have the flow control information here.

Instead of constructing the stream queue outside of the reactor and
passing the sender into the reactor, we construct the stream queue
inside of the reactor and pass the receiver out of the reactor.
</content>
</entry>
<entry>
<title>proto rpc: Turn tunnel paths into a dict</title>
<updated>2026-04-28T18:13:39Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-21T13:45:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9b25ca54c6f00bd8da27d6d8295d7cb0c4e869ee'/>
<id>urn:sha1:9b25ca54c6f00bd8da27d6d8295d7cb0c4e869ee</id>
<content type='text'>
This will make it possible to tell whether a path has been replaced
in the tunnel.

Since the UniqId type might change its representation in the future,
I've documented that we don't guarantee anything about the strings
used to distinguish paths.
</content>
</entry>
<entry>
<title>proto: Add an RPC function to access tunnel and inspect its path.</title>
<updated>2026-04-28T18:13:39Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2026-04-08T20:10:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b976186994f3e8e7b6fa30c03516e08880ad9323'/>
<id>urn:sha1:b976186994f3e8e7b6fa30c03516e08880ad9323</id>
<content type='text'>
Additionally, allow inspecting tunnel paths directly from streams.
</content>
</entry>
</feed>
