<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/stream/incoming.rs, branch arti-v1.1.10</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.10</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.10'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-10-25T20:34:55Z</updated>
<entry>
<title>Convert StreamId to NonZeroU16</title>
<updated>2023-10-25T20:34:55Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2023-10-23T22:57:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=48d95b8be53177d34012c53dd84ed888ebfb5cc8'/>
<id>urn:sha1:48d95b8be53177d34012c53dd84ed888ebfb5cc8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Revise the behavior of IncomingStream::discard().</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:30:35Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1b2a4de2eb6a11157879cb53839eaee9e658ba4d'/>
<id>urn:sha1:1b2a4de2eb6a11157879cb53839eaee9e658ba4d</id>
<content type='text'>
Because dropping a `StreamTarget` causes the circuit reactor to send
an End, the previous do-nothing implementation of `discard()` wasn't
sufficient to cause the request to be ignored without sending an
End.

This commit modifies our "close pending stream" behavior to only
optionally send an End message.  To avoid confusion, I'm using a new
`CloseStreamBehavior` enum rather than an `Option&lt;End&gt;`, since we
had previously used `None` in some cases to indicate a default
(misc) end message.
</content>
</entry>
<entry>
<title>IncomingStream:: flatten IncomingStreamInner.</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:18:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d51927c7ad3d0523b533acaa467ac2a083854e0f'/>
<id>urn:sha1:d51927c7ad3d0523b533acaa467ac2a083854e0f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>IncomingStream: Remove state.</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:16:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=394dda704d3832d7cb5f97f1f98c0bb6c903bf85'/>
<id>urn:sha1:394dda704d3832d7cb5f97f1f98c0bb6c903bf85</id>
<content type='text'>
Now that every state-change function consumes the IncomingStream,
there is no longer any reason to keep track of an internal state
enum.
</content>
</entry>
<entry>
<title>Note a bug in IncomingStream::discard.</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:14:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d67be6e8f51c9c4a6b9f814c3613e4c7ecc03d24'/>
<id>urn:sha1:d67be6e8f51c9c4a6b9f814c3613e4c7ecc03d24</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove IncomingStreamInner from its Option.</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:12:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0ae389d5b3a67c9dd6d802b06e1950533f7ed7e3'/>
<id>urn:sha1:0ae389d5b3a67c9dd6d802b06e1950533f7ed7e3</id>
<content type='text'>
Now that IncomingStream doesn't implement Drop, we can just
destructure it.
</content>
</entry>
<entry>
<title>Remove impl Drop from IncomingStream</title>
<updated>2023-10-19T17:15:10Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-18T14:07:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1e5a44f97b9cc067e0a99d95b7ae554661bd80f8'/>
<id>urn:sha1:1e5a44f97b9cc067e0a99d95b7ae554661bd80f8</id>
<content type='text'>
Since dropping a StreamTarget will send an End, we don't need
to call reject_internal in this case.
</content>
</entry>
<entry>
<title>proto: Make StreamTarget::close() misuse less likely.</title>
<updated>2023-10-17T12:41:44Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-17T12:39:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=308a27f0ac25c4608fd08d7c68fd1c5b305a8428'/>
<id>urn:sha1:308a27f0ac25c4608fd08d7c68fd1c5b305a8428</id>
<content type='text'>
It turns out that we can make `IncomingStream::reject()` consume
self, thus making it impossible to hit the double-close error
from outside the `tor-proto` crate.

Also, we rename `StreamTarget::close()` to `close_pending()` to
better reflect its limited applicability.
</content>
</entry>
<entry>
<title>proto::stream::incoming: Use bit-array representation for command list</title>
<updated>2023-10-12T16:23:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-12T13:56:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bffc68b2eafe323a4cb7fa130a93ff238f0a4b16'/>
<id>urn:sha1:bffc68b2eafe323a4cb7fa130a93ff238f0a4b16</id>
<content type='text'>
This should be smaller and faster than vec, and save some
allocations.  It could also avoid a tiny sidechannel.
</content>
</entry>
<entry>
<title>tor-proto: remove a now-unneeded allow in stream::incoming</title>
<updated>2023-10-12T13:27:39Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-10-12T13:27:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1ba811fdabbc1500b5844e51517c80aac3b97882'/>
<id>urn:sha1:1ba811fdabbc1500b5844e51517c80aac3b97882</id>
<content type='text'>
</content>
</entry>
</feed>
