<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/channel.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-28T14:27:46Z</updated>
<entry>
<title>extract tor_async_utils::oneshot into ::oneshot-fused-workaround</title>
<updated>2024-08-28T14:27:46Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-22T19:20:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=46f7f01092e6ac55e3e958dc3a2228b1d36e26a1'/>
<id>urn:sha1:46f7f01092e6ac55e3e958dc3a2228b1d36e26a1</id>
<content type='text'>
Having this in the `tor-async-utils` crate prevents us from doing both
of the following without introducing a circular dependency:

* using it in `tor-rtmock` (which we currently do, particularly in
  tests).
* using `tor-rtmock` to test things in `tor-async-utils`. We don't do
  this yet, but it is generally sensible to do so. In particular we
  want to move the `stream_peak` module there, which is currently tested
  with `tor-rtmock`.

Moving this into its own crate avoids this circular dependency.
</content>
</entry>
<entry>
<title>`tor_proto::channel`: update comment to point to `tor-chanmgr`</title>
<updated>2024-08-27T14:33:11Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-27T14:33:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=adada9b92f278cdb0a4a1e1fbdef91d0ec9c4a4d'/>
<id>urn:sha1:adada9b92f278cdb0a4a1e1fbdef91d0ec9c4a4d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix clippy::doc_lazy_continuation</title>
<updated>2024-07-08T10:36:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-07-08T10:31:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c4fe208c7184c020b5418840ebc5f4044c1601c6'/>
<id>urn:sha1:c4fe208c7184c020b5418840ebc5f4044c1601c6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename OptTimestamp to AtomicOptTimestamp</title>
<updated>2024-06-24T14:53:13Z</updated>
<author>
<name>Neel Chauhan</name>
<email>neel@neelc.org</email>
</author>
<published>2024-06-24T14:53:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8239634692732fe6c3c369038d243341459b1a83'/>
<id>urn:sha1:8239634692732fe6c3c369038d243341459b1a83</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ChannelSender::poll_ready_unpin_bool: move to util</title>
<updated>2024-05-29T11:16:19Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-05-29T11:15:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=237eb7a53f8953b8b6697ff110e1aec686b19d50'/>
<id>urn:sha1:237eb7a53f8953b8b6697ff110e1aec686b19d50</id>
<content type='text'>
This is where it belongs.
</content>
</entry>
<entry>
<title>ChannelSender::poll_ready_unpin_bool: extension trait</title>
<updated>2024-05-29T11:16:15Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-05-29T11:15:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e0115adb172001a84867e98520341a0ad1b96628'/>
<id>urn:sha1:e0115adb172001a84867e98520341a0ad1b96628</id>
<content type='text'>
This makes this available for any Sink + Unpin.  Which we want because
we're about to wrap our ChannelSender in a Sink wrapper.

It's in the wrong place now; we'll move it in a moment.
</content>
</entry>
<entry>
<title>ChannelSender::poll_ready_unpin_bool: rename from poll_ready</title>
<updated>2024-05-29T11:15:53Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-05-29T10:00:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ca05a4dcb9979c6916cd1f0d7ccc74af433969e0'/>
<id>urn:sha1:ca05a4dcb9979c6916cd1f0d7ccc74af433969e0</id>
<content type='text'>
This would otherwise shadow the poll_ready method, which is
confusing.

Also this paves the way for making it available for any
Sink + Unpin.

Improve the docs somewhat to explain what this thing actually is.
</content>
</entry>
<entry>
<title>ChannelSender::poll_ready inherent method: Don't discard error</title>
<updated>2024-05-29T09:53:55Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-05-29T09:44:14Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=71e28f8c47477c025ce0fd2375de8fbdfcdf85b4'/>
<id>urn:sha1:71e28f8c47477c025ce0fd2375de8fbdfcdf85b4</id>
<content type='text'>
I think this error was in fact always Error::CircuitClosed because it
came from ChannelClosed.into().  Anyway, we shouldn't squash it.

Now this function has semantics identical to Sink::poll_ready, just a
slightly different signature.
</content>
</entry>
<entry>
<title>ChannelSender::poll_ready inherent method: Avoid apparent discard</title>
<updated>2024-05-29T09:53:49Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-05-29T09:43:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=850ce5400a13d81abeb14f64c5ab5a85f583fc03'/>
<id>urn:sha1:850ce5400a13d81abeb14f64c5ab5a85f583fc03</id>
<content type='text'>
Make it clear we're discarding `()`, not an actual value.
</content>
</entry>
<entry>
<title>ChannelSender::poll_ready inherent method: Use Sink:poll_ready</title>
<updated>2024-05-29T09:53:39Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-05-29T09:41:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6d67dfc5af077eff34f2346b2780290be6d7ed47'/>
<id>urn:sha1:6d67dfc5af077eff34f2346b2780290be6d7ed47</id>
<content type='text'>
We're going to change this function, but first we are going to make
its behaviour identical to Sink::poll_ready.

This avoids open-coding the call to poll_read on cell_tx.

The error handling is still strange.  We'll fix that in a moment.
</content>
</entry>
</feed>
