<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/util, branch arti-v1.5.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-08-20T17:22:16Z</updated>
<entry>
<title>proto: Make the OutboundClientHandshake use new cell handler</title>
<updated>2025-08-20T17:22:16Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2024-10-03T13:16:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8d52396e8f6e68859508e1f8fbef7a62458857bc'/>
<id>urn:sha1:8d52396e8f6e68859508e1f8fbef7a62458857bc</id>
<content type='text'>
Use the ChannelFrame&lt;&gt; for the entirety of the outbound client handshake
that is the ClientInitiator channel type.

With this change, the codec.rs code is not needed anymore along its
CodecError as well which has been normalized onto the crate::Error
instead in order to simplify error handling and avoid duplication of
error types.

Unit tests have been modified to reflect this change of what can be done
with a channel frame. Also renamed to focus on client behavior.

Part of #1597

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>proto: Implement a From&lt;std::io::Error&gt; for Error</title>
<updated>2025-08-20T16:41:03Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2024-10-01T17:44:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3261efe62fd0a8e48381e2af6a4440ef0732c452'/>
<id>urn:sha1:3261efe62fd0a8e48381e2af6a4440ef0732c452</id>
<content type='text'>
To be able to return a crate::Error from the Decoded/Encoder trait, it
needs to implement this conversion.

Part of #1597

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>clippy: fix `clippy::duplicated_attributes` warnings</title>
<updated>2025-08-11T15:22:24Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-08-11T15:22:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=327f6a31c0fed9ff0b17ac2257157274fbe6d4cb'/>
<id>urn:sha1:327f6a31c0fed9ff0b17ac2257157274fbe6d4cb</id>
<content type='text'>
```text
warning: duplicated attribute
   --&gt; crates/tor-hsservice/src/timeout_track.rs:630:14
    |
630 |     #![allow(clippy::needless_pass_by_value)] // TODO hoist into standard lint block
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
</content>
</entry>
<entry>
<title>Switch Cargo.toml files to edition 2024.</title>
<updated>2025-08-07T15:28:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T01:19:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=77b0de43b8c67cdb81befe0680a3df43b6ad37bc'/>
<id>urn:sha1:77b0de43b8c67cdb81befe0680a3df43b6ad37bc</id>
<content type='text'>
First, run

```
git grep -l "^edition =" |
    xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```

Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.

Third, run cargo fmt again.
</content>
</entry>
<entry>
<title>Update code for Edition 2024</title>
<updated>2025-08-07T15:28:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-07T12:44:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0453fb4be8cf618b94230812957ce1db1afe74bd'/>
<id>urn:sha1:0453fb4be8cf618b94230812957ce1db1afe74bd</id>
<content type='text'>
1. Run cargo fix --edition

2. Selectively revert the "if let"-&gt;"match" changes.
   These changes are meant to protect us from the lifetime changes
   for "if let" bindings in Rust 2024.
   But we're not actually relying on the old lifetime rules
   anywhere, and the match syntax here is quite ugly.

3. Automatically revert `$pat:expr_2021` to `$pat:expr`.
   (We don't actually want to restrict the expression syntax
   that our macros accept).
   Done with
   `git grep -l expr_2021 | xargs perl -i -pe 's/expr_2021/expr/g;'`

4. Run cargo fmt.
</content>
</entry>
<entry>
<title>proto: Add the ability to enforce a maximum number of cells per hop</title>
<updated>2025-07-10T13:41:48Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-06-24T16:26:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=01a60a72ca746d1d5bdaa2269d8a7daf6ceb903e'/>
<id>urn:sha1:01a60a72ca746d1d5bdaa2269d8a7daf6ceb903e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: add `Notify{Sender,Receiver}` channel</title>
<updated>2025-06-23T20:36:57Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-23T20:34:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a3eb63512c7efd373b513aa2eabae6a2ec0ad0bf'/>
<id>urn:sha1:a3eb63512c7efd373b513aa2eabae6a2ec0ad0bf</id>
<content type='text'>
An async notification channel.

This uses `postage::watch::{Sender,Receiver}` internally.
</content>
</entry>
<entry>
<title>tor-proto: add `DynamicRateLimitedWriter`</title>
<updated>2025-06-16T19:19:37Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-09T16:38:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=34db37cc624953658b9223f374e44942c46da6bc'/>
<id>urn:sha1:34db37cc624953658b9223f374e44942c46da6bc</id>
<content type='text'>
This is a `Writer` rate limiter which can receive rate limit updates
from a `Stream`.
</content>
</entry>
<entry>
<title>tor-proto: fix bug in `RateLimitedWriter::poll_write`</title>
<updated>2025-06-08T23:25:01Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-06-08T22:18:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=28be14a2d6113c350dcbf45ff853b2fc6b567e7f'/>
<id>urn:sha1:28be14a2d6113c350dcbf45ff853b2fc6b567e7f</id>
<content type='text'>
Previously it did not behave correctly when `bucket.max()` was 0 (it
would sleep for 0 time instead of infinitely, triggering a debug
assertion).
</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>
</feed>
