<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/circuit/streammap.rs, branch arti-v1.3.2</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.2</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.3.2'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-11-19T12:17:50Z</updated>
<entry>
<title>tor-proto: Fix typo in streammap docs.</title>
<updated>2024-11-19T12:17:50Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-11-19T10:51:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=af40803111beec73ffeb3b535ab789535eac7242'/>
<id>urn:sha1:af40803111beec73ffeb3b535ab789535eac7242</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Introduce type aliases for stream queues</title>
<updated>2024-10-02T14:15:56Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-09-26T16:55:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1db1e62dea2ee4602dbb755c32cb6c8ce8cb7f32'/>
<id>urn:sha1:1db1e62dea2ee4602dbb755c32cb6c8ce8cb7f32</id>
<content type='text'>
This will make it easier to change their types.
</content>
</entry>
<entry>
<title>Move stream_peek into tor-async-utils</title>
<updated>2024-08-29T14:08:06Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-21T19:23:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2a11886271c41a0e2449c944b2f24db7f243d506'/>
<id>urn:sha1:2a11886271c41a0e2449c944b2f24db7f243d506</id>
<content type='text'>
</content>
</entry>
<entry>
<title>flow-control: document idea for making more robust</title>
<updated>2024-08-21T21:53:08Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-21T21:44:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e5be938406282f67b26b063fd5051c3c671dc904'/>
<id>urn:sha1:e5be938406282f67b26b063fd5051c3c671dc904</id>
<content type='text'>
From
&lt;https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2340#note_3062531&gt;
</content>
</entry>
<entry>
<title>StreamPollSet: disallow polling ready streams</title>
<updated>2024-08-21T18:30:55Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-15T01:00:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c29e83c40053b172f6d80751c215196a66264af9'/>
<id>urn:sha1:c29e83c40053b172f6d80751c215196a66264af9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>StreamMap: Use StreamUnobtrusivePeeker instead of Peekable</title>
<updated>2024-08-21T18:30:55Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-15T00:27:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8b0ebdc71f56af1076fa7d03e6eb3758305af964'/>
<id>urn:sha1:8b0ebdc71f56af1076fa7d03e6eb3758305af964</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-proto: Use PeekableStream to get rid of redundant buffering</title>
<updated>2024-08-21T18:30:55Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-14T20:41:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=41cbc63cb172c851f3b58ef0727aa1dfde363bcc'/>
<id>urn:sha1:41cbc63cb172c851f3b58ef0727aa1dfde363bcc</id>
<content type='text'>
* Update `StreamPollSet` to require that its streams implement
  `PeekableStream`, and to not do its own buffering of values read from
  the stream.

  This avoids an extra layer of buffering for streams that already
  buffer a value, and makes the interior state a little simpler and more
  robust.

  It does have a downside of making the API a little less convenient,
  since the caller must do its own `poll_peek` call if it wants a
  reference to the item.

* Update `StreamMap` to implement `PeekableStream` for
  `OpenStreamEntStream`, as it must to satisfy the updated
  `StreamPollSet` API. We have to somewhat constrain the
  `poll_ready_streams_iter` API to no longer return both a reference to
  the stream and the message. I don't see a way to return both
  while satisfying the borrow checker. Luckily we don't really need both
  anymore.

* Update the Circuit reactor to handle the updated
  `StreamMap::poll_ready_streams_iter` API.
</content>
</entry>
<entry>
<title>StreamMap: apply stream flow control before making messages available</title>
<updated>2024-08-13T19:46:46Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-13T19:16:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4939d2c08a890d97145eceb127c62ecc412f22d5'/>
<id>urn:sha1:4939d2c08a890d97145eceb127c62ecc412f22d5</id>
<content type='text'>
This prevents us from having to iterate over streams blocked on flow
control inside the circuit reactor, and potentially allows further
simplification.
</content>
</entry>
<entry>
<title>tor-proto: Encapsulate flow-control</title>
<updated>2024-08-13T19:46:46Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-12T20:49:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=4df401ec43b8f1c4e2eff662f1173847718cc3a4'/>
<id>urn:sha1:4df401ec43b8f1c4e2eff662f1173847718cc3a4</id>
<content type='text'>
Encapsulate flow-control into a separate object that partially abstracts
away the difference between window-based (legacy) flow control and
xon-based (prop324) flow control.
</content>
</entry>
<entry>
<title>StreamMap: rm stray comment</title>
<updated>2024-08-13T18:31:24Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-13T18:12:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3a0cf535847e13802157c0ff39d5a6c40cbd662c'/>
<id>urn:sha1:3a0cf535847e13802157c0ff39d5a6c40cbd662c</id>
<content type='text'>
</content>
</entry>
</feed>
