<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/channel/reactor.rs, 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-23T10:28:05Z</updated>
<entry>
<title>prepare_send_from: clippy: Replace some or_else with or</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:49:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2fc6c8a194fa668e5bdb9d94d25e29c5e1666a21'/>
<id>urn:sha1:2fc6c8a194fa668e5bdb9d94d25e29c5e1666a21</id>
<content type='text'>
</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>
<entry>
<title>clippy: Change a binding to (), and allow clippy::let_unit_value</title>
<updated>2022-05-11T17:52:12Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-05-11T14:30:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0cc94d449ed5853838221a882f66c7838a36ee3f'/>
<id>urn:sha1:0cc94d449ed5853838221a882f66c7838a36ee3f</id>
<content type='text'>
The type of ret.map_err(codec_err_to_chan)? is ().  ISTM that
writing `let () = ` makes it clear that there is nothing there,
but the lint forbids this.

This lint is warn by default and trips here for me on current nightly.

It seems wrong to me.  We should be able to make it clear to the
reader that there is nothing here - note how this differs from the
lines below where Ready contains msg.  A let () binding is a good way
to do that.

I think the lint allow ought to be added everywhere, but that doesn't
seem easy right now - see this issue about maint/add_warning:
   https://gitlab.torproject.org/tpo/core/arti/-/issues/469
</content>
</entry>
<entry>
<title>squash! Bump every crate's edition to 2021.</title>
<updated>2022-04-25T17:06:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-04-25T16:40:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2f6bc6bdc431fa36de70a167eea777dcf3f60bf2'/>
<id>urn:sha1:2f6bc6bdc431fa36de70a167eea777dcf3f60bf2</id>
<content type='text'>
Remove all `use` statements for `TryFrom` and `TryInto`.  These are
now redundant in Rust 2021.
</content>
</entry>
<entry>
<title>Channel: Expose our view of whether the clock is skewed, and the age</title>
<updated>2022-04-07T14:07:35Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-04-06T19:29:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7656ab09319aacbc8ef0e89e34a7dd5ce0ba1d85'/>
<id>urn:sha1:7656ab09319aacbc8ef0e89e34a7dd5ce0ba1d85</id>
<content type='text'>
of a channel.

At first I wanted to have this information not be a part of channels
at all, but it is a fairly tiny amount of data, and the alternatives
are pretty crufty.
</content>
</entry>
<entry>
<title>tor-proto: Remember peer information in circuit and channel</title>
<updated>2022-03-17T16:03:34Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-17T15:52:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=764930b9cd8c63a4dd59229ad6298e6b27fb375c'/>
<id>urn:sha1:764930b9cd8c63a4dd59229ad6298e6b27fb375c</id>
<content type='text'>
Each channel now remembers an OwnedChanTarget.

Each circuit now remembers a vector of OwnedChanTarget to represent
the path that it was constructed for.

Part of #415.
</content>
</entry>
<entry>
<title>remove usage of dbg!(..)</title>
<updated>2022-02-28T17:20:34Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2022-02-28T16:46:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=55a14334992f83da923a33d83799d5118d1e4d8f'/>
<id>urn:sha1:55a14334992f83da923a33d83799d5118d1e4d8f</id>
<content type='text'>
it's making rust-nightly job fail
</content>
</entry>
<entry>
<title>proto: Refactor conversion from CodecError to Error</title>
<updated>2022-02-24T18:23:42Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-24T18:23:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d8120e1649e4e8f039666ff1c3aedff5f1310154'/>
<id>urn:sha1:d8120e1649e4e8f039666ff1c3aedff5f1310154</id>
<content type='text'>
Remove default conversion; instead use a specific conversion in each
of the two modules that need to do it.
</content>
</entry>
<entry>
<title>tor-proto: Rename BadHandshake to BadCircHandshake</title>
<updated>2022-02-23T15:39:08Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-23T15:07:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d42b932ed93c5f4d4204d933e4ea798c21c4d02d'/>
<id>urn:sha1:d42b932ed93c5f4d4204d933e4ea798c21c4d02d</id>
<content type='text'>
(We'll have a BadChanHandshake soon.)
</content>
</entry>
<entry>
<title>Replace as_mut with deref impl for MutCircEnt</title>
<updated>2022-02-16T22:23:16Z</updated>
<author>
<name>Yuan Lyu</name>
<email>lyuyuan92@gmail.com</email>
</author>
<published>2022-02-16T22:23:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7ab840785ec4bc91b5d1230f7e0544fe6866178a'/>
<id>urn:sha1:7ab840785ec4bc91b5d1230f7e0544fe6866178a</id>
<content type='text'>
</content>
</entry>
</feed>
