<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/circuit/streammap.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-08-29T14:08:06Z</updated>
<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>
<entry>
<title>Merge branch 'streampollset-no-v' into 'main'</title>
<updated>2024-08-13T15:00:25Z</updated>
<author>
<name>David Goulet</name>
<email>dgoulet@torproject.org</email>
</author>
<published>2024-08-13T15:00:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f90f9e391639f99e44f04a53b68be2422e70fb7b'/>
<id>urn:sha1:f90f9e391639f99e44f04a53b68be2422e70fb7b</id>
<content type='text'>
StreamPollSet: remove redundant type parameter V

See merge request tpo/core/arti!2334</content>
</entry>
<entry>
<title>StreamPollSet: remove redundant type parameter V</title>
<updated>2024-08-12T21:26:36Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-12T21:24:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=70f094f7654facd5536d897e6ef7af1038e38082'/>
<id>urn:sha1:70f094f7654facd5536d897e6ef7af1038e38082</id>
<content type='text'>
This was required to be the same type as `S::Item`. We can just use
`S::Item` directly.
</content>
</entry>
</feed>
