<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-cell/src/relaycell.rs, branch arti-v1.2.7</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.7</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.7'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-08-01T17:46:45Z</updated>
<entry>
<title>tor-proto::circuit::StreamMap: Use StreamPollSet</title>
<updated>2024-08-01T17:46:45Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-07-24T02:04:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5ca9f0c04dc1bc61deb68ced03a375a850cbef5c'/>
<id>urn:sha1:5ca9f0c04dc1bc61deb68ced03a375a850cbef5c</id>
<content type='text'>
* Refactors `StreamMap` to use `StreamPollSet` to manage its receivers
  for mpsc streams.
* Extends `StreamMap` to support iterating only over streams that have a
  pending outgoing message, and in round-robin order.
* Updates `circuit::reactor::Reactor` to use this functionality. It now
  iterates only over streams that have a ready outgoing message, and
  only actually "pops" a message that is ready to be sent.

This mildly simplifies the circuit reactor, but more importantly clears
the way to:

* Remove the "outbound queue" of messages that were pulled from stream
  channels but that we couldn't send yet due to congestion control.
* Support opportunistic packing when preparing to send a relay message.
  (proposal 340).
* Refactor the circuit reactor's `run_once` into futures that we can
  `select!` over.
</content>
</entry>
<entry>
<title>Fix clippy::doc_lazy_continuation</title>
<updated>2024-07-08T10:36:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-07-08T10:31:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c4fe208c7184c020b5418840ebc5f4044c1601c6'/>
<id>urn:sha1:c4fe208c7184c020b5418840ebc5f4044c1601c6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use uXX::MAX in place of std::uXX::MAX</title>
<updated>2024-04-22T17:00:29Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-04-22T17:00:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4a1ad1dc89f6a9f48c84411560c1617d9e487abc'/>
<id>urn:sha1:4a1ad1dc89f6a9f48c84411560c1617d9e487abc</id>
<content type='text'>
The old code produced a warning from clippy nightly; we may as well
update to use the new associated consts.  (They've been there since
Rust 1.4x.)
</content>
</entry>
<entry>
<title>Fix compilation for relaymsg fuzzer</title>
<updated>2024-04-02T16:26:32Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-04-02T16:26:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ebd0a506b4c8e11d2dd6acb8f4e4203cef42fb52'/>
<id>urn:sha1:ebd0a506b4c8e11d2dd6acb8f4e4203cef42fb52</id>
<content type='text'>
This broke when we changed the relaymsg api.
</content>
</entry>
<entry>
<title>Add and use RelayCellFormatTrait</title>
<updated>2024-03-20T14:10:32Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-03-19T00:30:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8a91f277bbb9faa263a33d6b270f652a0da98068'/>
<id>urn:sha1:8a91f277bbb9faa263a33d6b270f652a0da98068</id>
<content type='text'>
This lets us paramaterize types and functions by a particular relay cell
format. We use this e.g. to statically parameterize the cell crypto
functions, thereby removing some run-time branching in the hot path.
</content>
</entry>
<entry>
<title>RelayCellBody: generalize over RelayCellFormat</title>
<updated>2024-03-20T14:07:53Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-03-14T16:52:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=86f38c6d785b0adebcc81878719411b6d4648877'/>
<id>urn:sha1:86f38c6d785b0adebcc81878719411b6d4648877</id>
<content type='text'>
Different formats will use different ranges for the `recognized` and
`digest` fields.
</content>
</entry>
<entry>
<title>Remove RelayMsgOuter::decode_from_reader</title>
<updated>2024-03-12T15:58:12Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-03-11T20:33:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=92f12efe7e76a227bcb363c41d792ed5b8a71e4a'/>
<id>urn:sha1:92f12efe7e76a227bcb363c41d792ed5b8a71e4a</id>
<content type='text'>
The semantics of such a function that supports both the legacy V0 format
and the V1 packing and fragmentation format are a bit tricky. Since it's
not used outside of its module, we can simply remove it.
</content>
</entry>
<entry>
<title>relay-cell: Update relay cell decoding API for prop340</title>
<updated>2024-03-12T15:58:12Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-03-05T20:58:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2d427eb93d699e779c608f71a243d581b1027a73'/>
<id>urn:sha1:2d427eb93d699e779c608f71a243d581b1027a73</id>
<content type='text'>
Prop 340:
https://spec.torproject.org/proposals/340-packed-and-fragmented.html

This updates the decoding API to support multiple versions of the relay
cell encoding, including the new encoding proposed in prop340 that
supports relay message packing and fragmentation.

This commit doesn't actually add support for that new encoding yet.
</content>
</entry>
<entry>
<title>Rename UnparsedRelayCell -&gt; UnparsedRelayMsg</title>
<updated>2024-03-12T15:58:12Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-03-04T17:17:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=190d1cba722c1ebe840eca2b06d82a89678847dc'/>
<id>urn:sha1:190d1cba722c1ebe840eca2b06d82a89678847dc</id>
<content type='text'>
For consistency with the terminology proposed in
https://gitlab.torproject.org/tpo/core/torspec/-/issues/253
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2024-01-08T18:19:11Z</updated>
<author>
<name>Dimitris Apostolou</name>
<email>dimitris.apostolou@icloud.com</email>
</author>
<published>2024-01-04T18:32:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4eb54be0657862f5d56b047c16c08dabde6a7377'/>
<id>urn:sha1:4eb54be0657862f5d56b047c16c08dabde6a7377</id>
<content type='text'>
</content>
</entry>
</feed>
