<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/stream/data.rs, branch arti-v1.3.1</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.3.1</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.3.1'/>
<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)</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 data 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:57:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6092b87c6a2351dfcf90e7f81505b06820e95eaf'/>
<id>urn:sha1:6092b87c6a2351dfcf90e7f81505b06820e95eaf</id>
<content type='text'>
The DataStream is sometimes disassembled, eg by split.  When that
happens, the StreamAccount would be dropped - and that was the only
strong reference.

Put a StreamAccount in each of the pieces, instead of just in the
combined DataStream struct.
</content>
</entry>
<entry>
<title>tor-proto: Put a StreamAccount in DataStream etc.</title>
<updated>2024-10-03T14:10:47Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-10-02T15:42:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7b97ce4ee6d9f7eb42646f870feb7bde42001ad6'/>
<id>urn:sha1:7b97ce4ee6d9f7eb42646f870feb7bde42001ad6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Put a StreamAccount in DataStream etc. (pre-fmt)</title>
<updated>2024-10-03T14:10:47Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-10-02T15:42:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b327b0cd620c674a2c89a8d259d2c701ad24befd'/>
<id>urn:sha1:b327b0cd620c674a2c89a8d259d2c701ad24befd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Try to clarify why StreamReader has a StreamTarget.</title>
<updated>2024-05-29T11:28:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-28T20:42:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b077b68e6dc9d426beebd84bd63382287c03b02f'/>
<id>urn:sha1:b077b68e6dc9d426beebd84bd63382287c03b02f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Improve documentation about DataStream lifetimes and closing</title>
<updated>2024-05-29T11:28:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-28T16:52:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=99dcd037aa81863da56180900e8b6f0aeb143f2d'/>
<id>urn:sha1:99dcd037aa81863da56180900e8b6f0aeb143f2d</id>
<content type='text'>
In particular, clarify that dropping the DataWriter on its own does
nothing unless the DataReader is also dropped.

Related to #1368.
</content>
</entry>
<entry>
<title>proto: Make DataWriter::close actually do something.</title>
<updated>2024-05-29T11:28:01Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-28T16:30:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6739f33781b957da7cb00128ba2eadc92dbabf72'/>
<id>urn:sha1:6739f33781b957da7cb00128ba2eadc92dbabf72</id>
<content type='text'>
Previously we had a bug where `&lt;DataWriter as AsyncWrite&gt;::close`
(or `shutdown` in tokio-land) would not actually have any effect.
It _would_ drop the `StreamTarget` held by the `DataWriter`, but
since the `DataReader` also held a `StreamTarget`, the
MPSC channel would not get closed, and the circuit reactor would
not realize that the stream wanted to shut down.

Now we use `mpsc::Sender::close_channel` to make our closes
effectual.

Closes #1368.

Additionally, we fix a bug where `poll_close()` never actually did
anything if the buffer had nothing in it when it was called.
Previously, `poll_flush_impl()` would exit immediately if it had no
data to flush.  That isn't what we want when we are closing!
</content>
</entry>
<entry>
<title>proto: Fix compilation with stream-ctrl but not experimental-api.</title>
<updated>2024-05-14T12:04:03Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-12T19:53:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e7d474345fe99a8c9203f90d70b5a5b236086be3'/>
<id>urn:sha1:e7d474345fe99a8c9203f90d70b5a5b236086be3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>proto: Expose wait_for_connection as a part of the DataStream API.</title>
<updated>2024-05-09T20:34:17Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-06T19:05:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=489aa72d1eee8a5638493dfb23d06823a201c132'/>
<id>urn:sha1:489aa72d1eee8a5638493dfb23d06823a201c132</id>
<content type='text'>
</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>
</feed>
