<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-basic-utils/src, branch arti-v0.4.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.4.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.4.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-05-24T23:21:12Z</updated>
<entry>
<title>Typo fixes (automated with "typos").</title>
<updated>2022-05-24T23:21:12Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-24T23:18:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3b837eb7f4e43dd26e41869b32a941b3762a8ee2'/>
<id>urn:sha1:3b837eb7f4e43dd26e41869b32a941b3762a8ee2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Suppress clippy warnings in tor-basic-utils.</title>
<updated>2022-05-23T16:55:37Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-23T16:20:44Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2f1803f4c6f90c3edcf0289a7494d241d9312f58'/>
<id>urn:sha1:2f1803f4c6f90c3edcf0289a7494d241d9312f58</id>
<content type='text'>
These are warnings that we've decided it's okay to suppress elsewhere.
</content>
</entry>
<entry>
<title>prepare_send_from: clippy: Have dprintln explicitly return ()</title>
<updated>2022-05-23T10:28:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-20T15:46:53Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=86d5768c0541bb4399f8b441b3af369a0c6cf836'/>
<id>urn:sha1:86d5768c0541bb4399f8b441b3af369a0c6cf836</id>
<content type='text'>
</content>
</entry>
<entry>
<title>prepare_send_from: clippy: Avoid a lint</title>
<updated>2022-05-23T10:28:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-20T15:44:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d3f261d5efaa77ee58d54a8e49ac231967e15fe7'/>
<id>urn:sha1:d3f261d5efaa77ee58d54a8e49ac231967e15fe7</id>
<content type='text'>
I think this is worse code, but it's not *significantly* worse.
</content>
</entry>
<entry>
<title>prepare_send_from: clippy: Add missing docs</title>
<updated>2022-05-23T10:28:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-20T15:34:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=24dde5ddf1e4892316ba59bfaba691ea1764510d'/>
<id>urn:sha1:24dde5ddf1e4892316ba59bfaba691ea1764510d</id>
<content type='text'>
I intend to reintroduce this in its own MR.
</content>
</entry>
<entry>
<title>prepare_send_from: clippy: Replace two unwraps</title>
<updated>2022-05-23T10:28:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-20T15:42:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=739e5b52b11555e3b8d1561a10e3f08d84feb447'/>
<id>urn:sha1:739e5b52b11555e3b8d1561a10e3f08d84feb447</id>
<content type='text'>
</content>
</entry>
<entry>
<title>prepare_send_from: Break out get_output! macro</title>
<updated>2022-05-23T10:28:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-20T15:39:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=94038a92271a2922d80064450b1e487e50e32218'/>
<id>urn:sha1:94038a92271a2922d80064450b1e487e50e32218</id>
<content type='text'>
So we can change unwrap to expect, which makes this too long to repeat.
</content>
</entry>
<entry>
<title>prepare_send_from: docs and comments improvements</title>
<updated>2022-05-23T10:28:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-20T09:22:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9fd0050acf983d0c947ad816c886df4fab58937f'/>
<id>urn:sha1:9fd0050acf983d0c947ad816c886df4fab58937f</id>
<content type='text'>
Apropos review.
</content>
</entry>
<entry>
<title>prepare_send_from: Add tests</title>
<updated>2022-05-23T10:28:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-18T15:03:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=426ff28b73ce2367c5893df026cc678f4abe455c'/>
<id>urn:sha1:426ff28b73ce2367c5893df026cc678f4abe455c</id>
<content type='text'>
When I added these tests, they didn't find any bugs in my own
implementation, but I did find a bug in futures::future::unfold.
See the in-code comment.
</content>
</entry>
<entry>
<title>channel: Provide and use Sink::prepare_send_from</title>
<updated>2022-05-23T10:28:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-18T15:02:52Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=793782acc80c05e2d2e125c65721c7a0b967d113'/>
<id>urn:sha1:793782acc80c05e2d2e125c65721c7a0b967d113</id>
<content type='text'>
This is a general-purpose implementation of the ad-hoc approach
currently taken in (eg) crates/tor-proto/src/channel/reactor.rs,
with an API intended to defned against the more obvious mistakes.

This allows us to separate the two concerns: the channel reactor can
focus on handling channel cells and control messages and is over 2.5x
shorter.

The complexity of the manual sink implementation, and the machinery
needed to avoid having to suspend while holding an item, are dealt
with separately.  That separate implemenation now has proper
documentation.  (Tests are in the nest commit to avoid this one being
even more unwieldy.)

We use `extend` to define this as an extension trait.  A competitor is
`ext` but in my personal projects I have found `extend` slightly
better.
</content>
</entry>
</feed>
