<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-chanmgr/src/lib.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-09-24T13:10:11Z</updated>
<entry>
<title>rtcompat: Rename TcpProvider to NetStreamProvider.</title>
<updated>2024-09-24T13:10:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-09-19T11:55:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8c2d84000e4d5ba74e7b6b4e9dac3fc700f618b5'/>
<id>urn:sha1:8c2d84000e4d5ba74e7b6b4e9dac3fc700f618b5</id>
<content type='text'>
(And similarly rename TcpListener to NetStreamListener,
along with their TcpStream/TcpListener associated types.)

These types are about to become generic over addresses,
and therefore shouldn't be named after TCP.

Renaming was done mostly with Rust Analyzer,
except for some macros that needed to be hand-edited.

(I'll revise the comments in the next commit;
this one is all about renaming.)
</content>
</entry>
<entry>
<title>tor-chanmgr: add experimental `ChanMgr::handle_incoming`</title>
<updated>2024-09-11T18:15:16Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2024-09-04T14:38:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6dda7fc80834962d9485b8d92f63feacbcad4be8'/>
<id>urn:sha1:6dda7fc80834962d9485b8d92f63feacbcad4be8</id>
<content type='text'>
The channel manager in the future will need to be able to receive
incoming streams. The type of the stream depends on an associated type
within `ChannelFactory`, so this commit exposes this associated type
through several other types, eventually to the `ChanMgr`.

The new methods are behind the experimental "relay" feature flag.
</content>
</entry>
<entry>
<title>tor-chanmgr: make `CompoundFactory` generic over `ChannelFactory`</title>
<updated>2024-09-11T18:14:33Z</updated>
<author>
<name>Steven Engler</name>
<email>opara@torproject.org</email>
</author>
<published>2024-08-26T19:00:55Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c4d69b977e3438b91b4cef0a7eaac3b7070be23d'/>
<id>urn:sha1:c4d69b977e3438b91b4cef0a7eaac3b7070be23d</id>
<content type='text'>
This has two advantages:

1. Code is a little easier to follow with generics rather than dynamic
   dispatch, especially since the type is fixed at compile time anyways.
2. It allows us to access associated types of the `ChannelFactory`,
   which will be useful later for getting the stream type from the
   `ChanBuilder`.
</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>Re-run maint/add_warning.</title>
<updated>2024-05-06T13:31:35Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-05-06T13:23:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=97f452ec9958bf7d8ca3275c39655814a4494637'/>
<id>urn:sha1:97f452ec9958bf7d8ca3275c39655814a4494637</id>
<content type='text'>
This commit is automatically generated.
</content>
</entry>
<entry>
<title>deny clippy::unchecked_duration_subtraction</title>
<updated>2024-02-29T17:16:49Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2024-02-29T17:06:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ac5b36027ca825d27ef466501c660ce498fd9e3c'/>
<id>urn:sha1:ac5b36027ca825d27ef466501c660ce498fd9e3c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>educe: Use std's default for enums where default variant is unit</title>
<updated>2024-02-12T11:38:36Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-02-12T11:07:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c35c60f848154e80f23ba95a989ff2f9d2594e6a'/>
<id>urn:sha1:c35c60f848154e80f23ba95a989ff2f9d2594e6a</id>
<content type='text'>
Since Rust 1.66, std's default works properly for enums, provided that
the default variant is a unit.

Review all uses of `#[educe(default)]` on enums and replace them with
std where possible, which is most of them.

In 1.66 and later, std's `#[derive(Default)]` doesn't infer any
generic bounds on the derived impl, where it's an enum - since the
unit variant can always be constructed.  So this change doesn't add
any generic bounds and is not API-visible.
</content>
</entry>
<entry>
<title>continually_expire_channels: don't round off expiration delay</title>
<updated>2023-12-14T00:51:39Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2023-12-14T00:51:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cc9d656ca88d75970cc527af1299e9a1e292b008'/>
<id>urn:sha1:cc9d656ca88d75970cc527af1299e9a1e292b008</id>
<content type='text'>
Without this change, if the delay is less than one second, the code will
effectively busy-loop until the delay has elapsed. This
potentially leads to deadlock in shadow simulations, and
wastes CPU in real usage.

https://shadow.github.io/docs/guide/limitations.html?highlight=busy#busy-loops
</content>
</entry>
<entry>
<title>continually_expire_channels: refactor using let-else</title>
<updated>2023-12-14T00:50:32Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2023-12-14T00:50:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=10aff4d04e1a404f7f04fde93980184d5b613fb2'/>
<id>urn:sha1:10aff4d04e1a404f7f04fde93980184d5b613fb2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Run add_warnings on all files.</title>
<updated>2023-08-04T11:45:04Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-08-04T11:45:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cec6d0ce33b4b5cebbce57f55faec83397e9c953'/>
<id>urn:sha1:cec6d0ce33b4b5cebbce57f55faec83397e9c953</id>
<content type='text'>
</content>
</entry>
</feed>
