<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/channel.rs, branch arti-v1.1.13</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.13</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.13'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-10-26T15:14:40Z</updated>
<entry>
<title>Add a caret_int HandshakeType for HTYPE constants</title>
<updated>2023-10-26T15:14:40Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2023-10-25T19:30:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=87081e51b503eb704d44e611f1ece614f42160f5'/>
<id>urn:sha1:87081e51b503eb704d44e611f1ece614f42160f5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change `CircId` to never be zero</title>
<updated>2023-10-25T20:35:12Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2023-10-24T18:47:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3fba6685fec3437f4afa3b3e8f94b6448117e73e'/>
<id>urn:sha1:3fba6685fec3437f4afa3b3e8f94b6448117e73e</id>
<content type='text'>
This changes the internal representation to be `NonZeroU32` instead of
just `u32`.

Various places where a circuit ID is optional now use `Option&lt;CircId&gt;`.

Fixes a bug in `CircIdRange::sample` that would previously return a
circuit ID of 0, when the rng returned 0x8000_0000 for a low range.
</content>
</entry>
<entry>
<title>oneshot: Apply deferred rustfmt churn</title>
<updated>2023-10-11T15:19:46Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-10-11T15:09:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=665ba4f6b6ed2de6f723177d5472e7ee1440599e'/>
<id>urn:sha1:665ba4f6b6ed2de6f723177d5472e7ee1440599e</id>
<content type='text'>
cargo fmt, precisely.
</content>
</entry>
<entry>
<title>oneshot: Use veneer in tor-proto</title>
<updated>2023-10-11T15:19:21Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-10-11T14:03:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f185eee7ddd0df75d98b03e64e74dd9235b6d1f4'/>
<id>urn:sha1:f185eee7ddd0df75d98b03e64e74dd9235b6d1f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Fix dead_code when building without experimental-api</title>
<updated>2023-08-16T17:41:40Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-08-14T18:30:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e67152abb95f20332b40f7704c5443ca76dde650'/>
<id>urn:sha1:e67152abb95f20332b40f7704c5443ca76dde650</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: methods to wait until a channel/circuit is shut down.</title>
<updated>2023-08-04T17:37:28Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-08-04T17:32:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=64fca7e45fcca858689b4111e9cfce3a5e90eade'/>
<id>urn:sha1:64fca7e45fcca858689b4111e9cfce3a5e90eade</id>
<content type='text'>
The implementation here is perhaps excessively simple: we put
a `oneshot::Sender` in the `Reactor` object, and a
`Shared&lt;oneshot::Receiver&gt;` in the circuit or channel.  When
the reactor is dropped, any copy of the `Shared&lt;Receiver&gt;` will
yield `Err(Cancelled)`.

I'm marking these methods as experimental because I'm not sure I've
thought of all the implications here, and we might want to change
things around.

Down the road, these methods might want to yield a `Result&lt;&gt;`
indicating why the reactor was shut down.

This feature was inspired by a request from Saksham Mittal, and a
felt need while working on !1472.
</content>
</entry>
<entry>
<title>proto: document channel lifecycle better.</title>
<updated>2023-06-28T19:26:22Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-06-27T15:34:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e8e95ec03b92256467606441c71675189e4890cb'/>
<id>urn:sha1:e8e95ec03b92256467606441c71675189e4890cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename OpenClientChan{Msg,Cell} =&gt; OpenChan{Msg,Cell}S2C</title>
<updated>2023-02-09T15:20:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-09T15:10:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0d772e5bede71c389b7eee58ce1b12c8651cba0f'/>
<id>urn:sha1:0d772e5bede71c389b7eee58ce1b12c8651cba0f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Do not parse forbidden commands on inbound cells.</title>
<updated>2023-02-09T15:20:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-08T14:41:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b7490ce3749f490c254ec89580522a8da520f88a'/>
<id>urn:sha1:b7490ce3749f490c254ec89580522a8da520f88a</id>
<content type='text'>
Unlike C tor, we treat unrecognized commands as reason to kill off
the connection entirely.  That's fine; if we need to add an
unrecognized command in the future, we can use VERSIONS to negotiate
it.

Also, if someday we want this code to support relay channels as
well, we can use some type trickery to have that work too.
</content>
</entry>
<entry>
<title>tor-proto: only parse allowed ChanMsg types during handshake.</title>
<updated>2023-02-09T15:20:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-08T14:15:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b49bd3b121b6aeb40351c8ac2c978323d341b018'/>
<id>urn:sha1:b49bd3b121b6aeb40351c8ac2c978323d341b018</id>
<content type='text'>
</content>
</entry>
</feed>
