<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/stream/resolve.rs, branch arti-v1.4.3</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.3</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.3'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-10-22T12:19:22Z</updated>
<entry>
<title>memquota: Use _ rather than allow(dead_code) (fmt)</title>
<updated>2024-10-22T12:19:22Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-10-22T12:19:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=905dad6dd31a4927c8d35b081105d69e1063cf77'/>
<id>urn:sha1:905dad6dd31a4927c8d35b081105d69e1063cf77</id>
<content type='text'>
</content>
</entry>
<entry>
<title>memquota: Use _ rather than allow(dead_code)</title>
<updated>2024-10-22T12:19:22Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-10-22T12:16:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=eed28245887b87a7bf1e884b568f8062148cdd76'/>
<id>urn:sha1:eed28245887b87a7bf1e884b568f8062148cdd76</id>
<content type='text'>
Promote the associated comments.

As suggested here:
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2560#note_3097188
</content>
</entry>
<entry>
<title>memquota: Fix resolve stream account lifetime</title>
<updated>2024-10-21T10:11:20Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-10-16T15:25:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a67433aa9a0a079d1e070d40000fdb74fb6bbc06'/>
<id>urn:sha1:a67433aa9a0a079d1e070d40000fdb74fb6bbc06</id>
<content type='text'>
We need the mq account for the stream not to collapse.  The
ResolveStream object needs to contain a strong reference to it.

Have begin_stream_impl return the StreamAccount, rather than taking it
as a parameter.  That makes this bug a little more obvious.  It also
centralises the StreamAccount creation.
</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>proto: Tweak documentation and names around CmdChecker.</title>
<updated>2023-02-27T13:14:15Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-27T13:14:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=07473ed1fc110b8b48ef02bb288b1f50085dfa06'/>
<id>urn:sha1:07473ed1fc110b8b48ef02bb288b1f50085dfa06</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Introduce CmdChecker, and define it for our streams.</title>
<updated>2023-02-17T16:50:27Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-17T16:50:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c5be3c089efc75453762ea975a9a96e6560057dc'/>
<id>urn:sha1:c5be3c089efc75453762ea975a9a96e6560057dc</id>
<content type='text'>
The role of CmdChecker is to verify that messages are arriving at
the appropriate sequence on a stream, with respect to the other
messages that have been received.  Once the stream becomes
half-closed, the CmdChecker is also in charge of consuming incoming
messages on the stream and making sure that they are well-formed.
</content>
</entry>
<entry>
<title>tor-proto: Push stream message parsing into the stream objects.</title>
<updated>2023-02-15T15:48:19Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-13T22:48:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=41b50b6c56debc1eeb644d65b2738645bf98fce7'/>
<id>urn:sha1:41b50b6c56debc1eeb644d65b2738645bf98fce7</id>
<content type='text'>
This closes #525, and ensures, at last, that we don't parse any
message that we wouldn't accept.
</content>
</entry>
<entry>
<title>tor-cell: Rename RelayMsg and RelayCell-related  types.</title>
<updated>2023-02-07T21:03:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-07T14:18:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d63d7926bd5e94f4129dd1a44e696728125a6c4a'/>
<id>urn:sha1:d63d7926bd5e94f4129dd1a44e696728125a6c4a</id>
<content type='text'>
Thanks to rust-analyzer for making this simple.
</content>
</entry>
<entry>
<title>tor-cell: Remove RelayMsg methods that are duplicated in RelayMsgClass.</title>
<updated>2023-02-07T21:03:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-02-07T13:56:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c529bb9c307ffd90d138bffc8ed4e2a45db9c4e3'/>
<id>urn:sha1:c529bb9c307ffd90d138bffc8ed4e2a45db9c4e3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Get rid of unbounded stream sender, and RawCellStream</title>
<updated>2021-11-12T15:04:27Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2021-11-11T17:44:50Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c559754116678866eabe525f5b189b50cc78b5cc'/>
<id>urn:sha1:c559754116678866eabe525f5b189b50cc78b5cc</id>
<content type='text'>
Previously, the reactor would use an `UnboundedSender` to send things to
the `RawCellStream`, in order that the reactor wouldn't block if you
failed to read from the latter. This is bad, though, since it means
people can just run us out of memory by sending lots of things.

To fix this, we make the new `StreamReader` type (which does the reading
parts from `RawCellStream`) keep track of the stream's receive window
and issue SENDMEs once *it* has consumed enough data to require it, thus
meaning that we shouldn't get sent enough data to fill the channel
between reactor and `StreamReader` (and, if we do, that's someone trying
to flood us, and we abort the circuit).

As hinted to above, the `RawCellStream` was removed and its reading
functionalities replaced by `StreamReader`; its writing functionalities
are handled by `StreamTarget` anyway, so we just give out one of those
for the write end. This now means we don't need any mutexes!

note: this commit introduces a known issue, arti#230
</content>
</entry>
</feed>
