<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/stream/data.rs, branch arti-v1.4.5</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.5</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.5'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-06-26T17:33:36Z</updated>
<entry>
<title>tor-proto: Renamed `DataReaderState::Ready` to `Open`</title>
<updated>2025-06-26T17:33:36Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-26T17:33:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c4f15fab9a79bfb12b71e06a2e2ac0eb7af16766'/>
<id>urn:sha1:c4f15fab9a79bfb12b71e06a2e2ac0eb7af16766</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: remove unneeded `DataReaderState::ReadingCell` state</title>
<updated>2025-06-26T17:03:13Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-26T04:52:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=71e10a6155b533436befb205661fe98b83fab9e6'/>
<id>urn:sha1:71e10a6155b533436befb205661fe98b83fab9e6</id>
<content type='text'>
Now that we no longer need to store a future, there's no need for this
state since we're never pending waiting for a future to complete.
</content>
</entry>
<entry>
<title>tor-proto: rework `StreamReceiver` into a `futures::Stream`</title>
<updated>2025-06-26T17:03:13Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-26T04:45:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3eabc89dc9a1f6be166c2a468785d7708aa3a5bb'/>
<id>urn:sha1:3eabc89dc9a1f6be166c2a468785d7708aa3a5bb</id>
<content type='text'>
Having this be a `futures::Stream` makes it nicer to work with. For
example we are able to remove a boxed future from `DataReaderState`,
which should be better for performance and makes the code simpler.

As mentioned in a previous commit when this type was named
`StreamReader`, this type is public in the API, but is not actually
accessible. As far as I can tell there is no way to construct it or
access it.
</content>
</entry>
<entry>
<title>tor-proto: rename `StreamReader` to `StreamReceiver`</title>
<updated>2025-06-26T17:01:22Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-26T03:20:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d633fbc26e84b190306998833f5c8a1e10b58e50'/>
<id>urn:sha1:d633fbc26e84b190306998833f5c8a1e10b58e50</id>
<content type='text'>
In rust, the typical nomenclature is to use "receiver" for channels, and
"reader" for byte streams. For example `mpsc::Receiver` for something
that returns objects and `AsyncRead` for something that reads bytes.

Since we also have a `DataReader` for reading bytes, I think renaming
this from `StreamReader` to `StreamReceiver` better describes what it is
(it's not a "reader" in the typical `Read`/`AsyncRead` sense).

This type is public in the API, but is not actually accessible. As far
as I can tell there is no way to construct it or access it.
</content>
</entry>
<entry>
<title>tor-proto: use `DynamicRateLimitedWriter` in `DataWriter`</title>
<updated>2025-06-16T19:19:37Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-09T16:46:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=993486444b83d9be21a046a9c04a1efe90a55f3a'/>
<id>urn:sha1:993486444b83d9be21a046a9c04a1efe90a55f3a</id>
<content type='text'>
This uses just a placeholder `Empty` stream for config updates.
</content>
</entry>
<entry>
<title>tor-proto: improve `TokioAsyncWrite` compat impl</title>
<updated>2025-06-16T19:19:37Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-09T16:42:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=14b49bfd2f037728d7f02994abb986f0e4301515'/>
<id>urn:sha1:14b49bfd2f037728d7f02994abb986f0e4301515</id>
<content type='text'>
We want the tokio trait to call into the futures trait, rather than
having each trait duplicate the logic of calling into the inner writer.
This is less error-prone.
</content>
</entry>
<entry>
<title>tor-proto: change `wake_when_bytes_available` to `NonZero&lt;u64&gt;`</title>
<updated>2025-06-08T23:24:31Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-08T21:42:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9779de7adbe4aa9cc848e685151a6c5cde0a7bce'/>
<id>urn:sha1:9779de7adbe4aa9cc848e685151a6c5cde0a7bce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: change `RateLimitedWriter` logic to use user-configurable limit</title>
<updated>2025-06-05T15:27:43Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-04T21:23:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=71deeccda0f8f253651516bc480861c48e90eab3'/>
<id>urn:sha1:71deeccda0f8f253651516bc480861c48e90eab3</id>
<content type='text'>
The user now sets a constant amount of bytes to wait for.
</content>
</entry>
<entry>
<title>tor-proto: add `{TokenBucket,RateLimitedWriter}Config` types</title>
<updated>2025-06-05T15:14:50Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-04T18:51:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=03c5c523039a03fe2b479fc9e7f2841440eb529b'/>
<id>urn:sha1:03c5c523039a03fe2b479fc9e7f2841440eb529b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: add missing doc comment to `DataWriter::writer`</title>
<updated>2025-06-05T15:14:50Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-05-27T19:12:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fc229c050bcc8966d83a802e7a0b929882f4ec61'/>
<id>urn:sha1:fc229c050bcc8966d83a802e7a0b929882f4ec61</id>
<content type='text'>
</content>
</entry>
</feed>
