<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/stream/data.rs, branch arti-v1.4.6</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.6</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.6'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-07-17T18:02:07Z</updated>
<entry>
<title>tor-proto: replace `DataReader`</title>
<updated>2025-07-17T18:02:07Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-07-17T07:19:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=66eec4843d37547c2e32e8f2e66fdadd999d8bff'/>
<id>urn:sha1:66eec4843d37547c2e32e8f2e66fdadd999d8bff</id>
<content type='text'>
`DataReader` -&gt; `DataReaderInner`
`DataReaderNew` -&gt; `DataReader`

This means that the `DataReader` now supports XON/XOFF flow control
using the `XonXoffReader`.

This means that it can receive requests for a new drain rate from the
reactor, and can send the new drain rate to the reactor once there is no
more stream data queued.
</content>
</entry>
<entry>
<title>tor-proto: add `DataReaderNew`</title>
<updated>2025-07-17T18:02:07Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-07-17T06:59:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=14d95aee7878ce28cb7f8af539b2bca287e785fc'/>
<id>urn:sha1:14d95aee7878ce28cb7f8af539b2bca287e785fc</id>
<content type='text'>
This will later become `DataReader`.
</content>
</entry>
<entry>
<title>tor-proto: add the `XonXoffReader` and connect it to the reactor</title>
<updated>2025-07-17T18:01:47Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-07-17T05:47:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ac0a34306105bb003573a854c64eedc9cefac51e'/>
<id>urn:sha1:ac0a34306105bb003573a854c64eedc9cefac51e</id>
<content type='text'>
The idea here is that the reactor builds an `XonXoffReaderCtrl` for the
new stream, and the `XonXoffReaderCtrl` can receive notifications from
the reactor's `StreamFlowControl`. The `XonXoffReaderCtrl` can be
combined with any `AsyncRead` to build a `XonXoffReader`, essentially
wrapping the `AsyncRead` with a type that handles XON/XOFF flow control.
Essentially, the reactor gives you a type that allows you to add
XON/XOFF flow control support to any `AsyncRead`.

We will add this `XonXoffReader` to the `DataReader` in a future commit.
</content>
</entry>
<entry>
<title>tor-proto: add dedicated types for the incoming stream queue</title>
<updated>2025-07-16T17:36:43Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-07-15T03:38:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9067118cff859a40772462c20fd0bc44a5e8bedc'/>
<id>urn:sha1:9067118cff859a40772462c20fd0bc44a5e8bedc</id>
<content type='text'>
XON/XOFF flow control will want to know how many data bytes are queued
on a stream, so the new types track that.
</content>
</entry>
<entry>
<title>Merge branch 'flow-ctrl' into 'main'</title>
<updated>2025-07-10T18:01:06Z</updated>
<author>
<name>opara</name>
<email>opara@torproject.org</email>
</author>
<published>2025-07-10T18:01:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=aed51f8d8f6a5e2fde677c65441d10027dc6bf31'/>
<id>urn:sha1:aed51f8d8f6a5e2fde677c65441d10027dc6bf31</id>
<content type='text'>
tor-proto: Handle incoming XON/XOFF messages

See merge request tpo/core/arti!3054</content>
</entry>
<entry>
<title>tor-proto: renamed `get_bytes_per_sec()` to `bytes_per_sec()`</title>
<updated>2025-07-10T15:11:19Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-07-10T15:10:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9449449f8d30e531ee65d00f70c0206f558a5727'/>
<id>urn:sha1:9449449f8d30e531ee65d00f70c0206f558a5727</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: establish channel for rate limit updates</title>
<updated>2025-07-07T17:12:05Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-16T22:28:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dce923d2010f66127a5a68b127778366ef517624'/>
<id>urn:sha1:dce923d2010f66127a5a68b127778366ef517624</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: code movement</title>
<updated>2025-07-07T17:12:05Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-16T22:16:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7d76c67597d1dc883dc3f352aa9c0219c9e9ef83'/>
<id>urn:sha1:7d76c67597d1dc883dc3f352aa9c0219c9e9ef83</id>
<content type='text'>
Moves the `DataWriter` impl to immediately after the definition.
</content>
</entry>
<entry>
<title>tor-proto: small `DataWriter` refactoring</title>
<updated>2025-07-07T17:12:05Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-16T22:04:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=336f5efbb4286d4dbe4f7673a335c260cb04e979'/>
<id>urn:sha1:336f5efbb4286d4dbe4f7673a335c260cb04e979</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: fix 0-len buffer bug in `DataReader::poll_read`</title>
<updated>2025-06-27T03:16:01Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-27T03:15:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=128f1899deab582edf637b9f1664f509991de76e'/>
<id>urn:sha1:128f1899deab582edf637b9f1664f509991de76e</id>
<content type='text'>
</content>
</entry>
</feed>
