<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-proto/src/channel/reactor.rs, branch arti-v1.3.0</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.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.3.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-10-09T17:21:09Z</updated>
<entry>
<title>Apply deferred rustfmt churn</title>
<updated>2024-10-09T17:21:09Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-10-09T17:21:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fafe03628c3a6f670b052cfa8ac782843d72ea1a'/>
<id>urn:sha1:fafe03628c3a6f670b052cfa8ac782843d72ea1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>memquota: Use an mq_queue for channel-&gt;circuit RX queue</title>
<updated>2024-10-09T17:19:41Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-10-09T16:45:07Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bfa67c34da9357e412758507c312c6b92c2f3133'/>
<id>urn:sha1:bfa67c34da9357e412758507c312c6b92c2f3133</id>
<content type='text'>
Fixes #1682.

(This involves some noise in the tests.)
</content>
</entry>
<entry>
<title>memquota: Introduce type aliases for channel-&gt;circuit RX queue</title>
<updated>2024-10-09T17:19:38Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-10-09T16:43:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6fd94b3d2547d54aa4e9bf5282f72064c6a6ef3f'/>
<id>urn:sha1:6fd94b3d2547d54aa4e9bf5282f72064c6a6ef3f</id>
<content type='text'>
This is neater and will make changing the type (in a moment) less
noisy.
</content>
</entry>
<entry>
<title>tor-proto: Make circuit-&gt;channel queues participate in memquota</title>
<updated>2024-10-03T14:10:47Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-09-24T11:12:25Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=39935609efa1feb7512af8cf401865b90ffed786'/>
<id>urn:sha1:39935609efa1feb7512af8cf401865b90ffed786</id>
<content type='text'>
We use the *channel*'s memquota account.  This is arguably wrong, but
it's hard to get right now.  See #1652.

Change the type of the queue, and the places it's constructed.
The use sites can all stay the same.
</content>
</entry>
<entry>
<title>tor-proto: Plumb the ChannelAccount through to queue creation site</title>
<updated>2024-10-03T14:10:47Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-10-02T16:24:59Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=939d291ed3792a5fd1392f4e2816de254ac1bc12'/>
<id>urn:sha1:939d291ed3792a5fd1392f4e2816de254ac1bc12</id>
<content type='text'>
This gets it as far as the outbound circuit-&gt;channel mpsc queue creation.
Also, we provide an accessor for it.
</content>
</entry>
<entry>
<title>tor-proto: channel: Make construction fallible</title>
<updated>2024-10-03T14:10:35Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-09-23T10:19:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1861de6a00edd99c4354fc3b2eaaf88fec2d4fe6'/>
<id>urn:sha1:1861de6a00edd99c4354fc3b2eaaf88fec2d4fe6</id>
<content type='text'>
Making a channel is going to involve making a memquota Participant,
which can fail.
</content>
</entry>
<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>proto: Divide up some elements of ChannelDetails.</title>
<updated>2024-05-16T16:24:12Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-16T16:15:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=98dc42c3e0a4cfa9f5663b01ff27d085e725ca57'/>
<id>urn:sha1:98dc42c3e0a4cfa9f5663b01ff27d085e725ca57</id>
<content type='text'>
Previously ChannelDetails had a double duty: It held elements shared
among the clones of a Channel, and it also held elements shared
between the Channel and the Reactor.  But now that Channel doesn't
have to implement Clone, we can more the non-Reactor elements into
Channel itself.

This change may improve cache locality a bit, and should make it a
little easier to follow the channel code.

I've also moved unique_id out of ChannelDetails into Channel _and_
Reactor: it is small, immutable, and used all the time in logging.
</content>
</entry>
<entry>
<title>proto: Make Channel explicitly Arc&lt;.&gt;</title>
<updated>2024-05-16T16:24:12Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-16T15:51:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=822ff7b1ba21ed59b697aab45fd0b00f88479cef'/>
<id>urn:sha1:822ff7b1ba21ed59b697aab45fd0b00f88479cef</id>
<content type='text'>
Previously, Channel was a type that you could Clone that implicitly
its state.  Now, Channel always appears as an Arc&lt;Channel&gt;.

This change has several benefits:

  * It makes the relationship between Channel struct and the
    underlying channel more clear.
  * It enables Channel to participate in the RPC system,
    where everything has to be an Arc&lt;.&gt;
  * It enables us to have a Weak&lt;Channel&gt;, if we ever want to.
  * It will let us move various members out of ChannelDetails.

We did this change a while ago with ClientCirc.
</content>
</entry>
<entry>
<title>Downgrade some messages to trace</title>
<updated>2023-11-29T18:51:30Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2023-11-29T18:44:06Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d67519d71b2f452dcc947acc12b3bdc50e3e7920'/>
<id>urn:sha1:d67519d71b2f452dcc947acc12b3bdc50e3e7920</id>
<content type='text'>
These messages are very verbose and I doubt anyone will want them,
usually, even when debugging.
</content>
</entry>
</feed>
