<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/channel/reactor.rs, 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-28T10:54:48Z</updated>
<entry>
<title>proto: Add a circuit module shared between client and relay impls.</title>
<updated>2025-08-28T10:54:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-08-26T17:48:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4ee5a4abcee895e79588888f6bc8eaa6963a6ba7'/>
<id>urn:sha1:4ee5a4abcee895e79588888f6bc8eaa6963a6ba7</id>
<content type='text'>
This is just code motion (I suggest reviewing with `--color-moved`).

This also moves the implementation-agnostic parts from
`tor_proto::client::circuit` to a new `tor_proto::circuit` module.
</content>
</entry>
<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: Add ChannelType enum</title>
<updated>2025-08-20T16:41:03Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2024-09-30T18:37:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ff4b08075d3d1799dd5ce785f0a8d0b87a140163'/>
<id>urn:sha1:ff4b08075d3d1799dd5ce785f0a8d0b87a140163</id>
<content type='text'>
The ChannelType indicates the type of channel in order to dictate which
message is allowed on it. The value use the Initiator and Responder
terminology from tor-spec documents.

At this commit, we only have client channel meaning the
"ClientInitiator" type.

In future commits, the channel type will be used by the channel reactor
to restrict which message is allowed or not.

Part of #1597

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-proto: report tunnel/channel id as a field</title>
<updated>2025-08-18T19:45:55Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-08-09T20:16:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=12a042a0a110d009a50e6b41f421445168125c27'/>
<id>urn:sha1:12a042a0a110d009a50e6b41f421445168125c27</id>
<content type='text'>
This restores the pre-374889d34aa0 behaviour.
</content>
</entry>
<entry>
<title>proto: Rename the `tunnel` module to `client` (fmt).</title>
<updated>2025-08-18T16:09:04Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-08-18T15:16:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f91f291c75b61bf29521755f77097cfa1bc8fe58'/>
<id>urn:sha1:f91f291c75b61bf29521755f77097cfa1bc8fe58</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Rename the `tunnel` module to `client`.</title>
<updated>2025-08-18T16:09:04Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-08-18T15:14:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1ee26f2168ee2dede8ab993ef57435334e9efabe'/>
<id>urn:sha1:1ee26f2168ee2dede8ab993ef57435334e9efabe</id>
<content type='text'>
The implementation from `tunnel` is client-specific, so we are renaming
the module accordingly. The more generic parts will be pulled into a
separate module in a future commit.
</content>
</entry>
<entry>
<title>tor-proto: use error report in tunnel/channel reactor</title>
<updated>2025-08-07T18:34:43Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2025-08-05T02:33:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=374889d34aa0c7b804fa9d1ca77935f0979d6999'/>
<id>urn:sha1:374889d34aa0c7b804fa9d1ca77935f0979d6999</id>
<content type='text'>
</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>proto: Fix the tunnel/circuit.rs unit tests</title>
<updated>2025-08-05T18:23:02Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2025-07-04T14:17:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c95f804b616a4b83633be57332eea485096122fa'/>
<id>urn:sha1:c95f804b616a4b83633be57332eea485096122fa</id>
<content type='text'>
Adapt all tests to use the new ClientTunnel.

Signed-off-by: David Goulet &lt;dgoulet@torproject.org&gt;
</content>
</entry>
<entry>
<title>tor-proto: Log channel, circuit, stream identifiers as structured fields.</title>
<updated>2025-06-12T18:02:30Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-06-12T15:16:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a50fe9c8471bfe026ff5a0ce39355258fc335fe0'/>
<id>urn:sha1:a50fe9c8471bfe026ff5a0ce39355258fc335fe0</id>
<content type='text'>
This changes the `tor-proto` logs to not be prefixed with a
channel/circuit/stream ID, but rather to have these IDs attached to the
log as structured fields.

This change is in preparation for the switch to using `TunnelId`s in the
tunnel reactor instead of circuit `UniqId`s. The reason for the change
to use structured fields is because future logs will likely need to log
the `UniqId`s of the circuits in a tunnel, which will need to either be
formatted somehow in the logs, or logged as a structured field (the
latter seems like the better option, hence this preparatory change).

IMO we should favor structured fields over formatted strings in the
logs in general, but that is a bigger project, so I am only doing a
spot fix for now.
</content>
</entry>
</feed>
