<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-cell/src/relaycell.rs, branch arti-v1.2.8</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.8</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.8'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-09-11T13:19:19Z</updated>
<entry>
<title>tor-bytes: Only report Truncated for errors at the outer level</title>
<updated>2024-09-11T13:19:19Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-09-11T13:13:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1632c48a5a2f5744970b841628261d6062881dee'/>
<id>urn:sha1:1632c48a5a2f5744970b841628261d6062881dee</id>
<content type='text'>
This is item 1 from
  https://gitlab.torproject.org/tpo/core/arti/-/issues/1614#note_3074562
and the alternative to item 2 presented in the 2nd half of
  https://gitlab.torproject.org/tpo/core/arti/-/issues/1614#note_3074648

(Item 3 was done earlier, but now we change the behaviour.)

Fixes #1614.
</content>
</entry>
<entry>
<title>tor-bytes: Error: provide and call Error::incomplete_error</title>
<updated>2024-09-11T13:19:19Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-09-11T11:32:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=12c2fbe076cfcff8d734b24d6aef243d09c64d15'/>
<id>urn:sha1:12c2fbe076cfcff8d734b24d6aef243d09c64d15</id>
<content type='text'>
We introduce the new constructor and call it at the error generation
sites.  But there is still not yet any functional change.

Change the type of Truncated's field to be Sensitive.

The original reason for not doing this no longer applies, since we
don't generally want to open-code construction of this variant.
Conveniently, changing the type means we get to find all the sites
where one *is* constructed and adjust them.

In reader.rs and tor-proto we can just call incomplete_error.

In tor-cell, there's a call site where we previously provided an
underestimate, and where the Reader isn't available.  We adjust that
ad-hoc but this is fine because the error variant will
change.  (relaycell is using a Reader from from_slice.)
</content>
</entry>
<entry>
<title>tor-bytes: Add a deficit field to Error::Truncated</title>
<updated>2024-09-10T09:10:19Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-09-05T15:48:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2ae6523dbfc6f3b26ffdc2465f93afab6de3c542'/>
<id>urn:sha1:2ae6523dbfc6f3b26ffdc2465f93afab6de3c542</id>
<content type='text'>
This will allow us to fix #1592, but it doesn't do so yet.
</content>
</entry>
<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>
</feed>
