<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-ptmgr/src/config.rs, branch arti-v1.1.1</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.1</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.1'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-11-28T18:52:21Z</updated>
<entry>
<title>Draft: Pluggable transport manager</title>
<updated>2022-11-28T18:52:21Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-11-22T16:24:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3b41c78d6fc5eceac3b45ea9ef1540b72f9b4004'/>
<id>urn:sha1:3b41c78d6fc5eceac3b45ea9ef1540b72f9b4004</id>
<content type='text'>
This commit implements `PtMgr`, a pluggable transport manager
responsible for keeping track of spawned PTs and spawning them to
satisfy client requests on demand.

It does this in two parts: the `PtMgr` type exported to the rest of the
code, and the background `PtReactor` that actually does the spawning;
this design ensures that only one attempt to spawn a PT is active at a
time, and will prove useful later for implementing e.g. timeouts.

A few changes were necessary to the rest of the code in order to make
this all work out. Namely:
- `TransportRegistry`'s API didn't make any sense for two reasons:
  - It wasn't feasible for implementors to implement `ChannelFactory`,
    since that'd require constructing a `ChanBuilder` (which requires a
    bootstrap reporting event sender).
  - Treating the PT manager as a registry is over-general; it's only
    necessary for it to spawn pluggable transports, so saddling it with
    other concerns didn't make any sense.
  - (It's possible to get extensibility for arbitrary user customization
    by just letting the user swap in a new `ChannelFactory`, anyway.)
- Therefore, the `PtMgr` implements the new `AbstractPtMgr` trait, which
  is far more narrowly focused; this only exists to solve a dependency
  loop, and is documented as such.
  - This provides a `TransportHelper` instead of a `ChannelFactory`.
</content>
</entry>
<entry>
<title>tor-ptmgr: make configuration use builders, plumb into arti-client</title>
<updated>2022-11-16T11:39:25Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-11-03T14:36:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1c9f6fb179bc88b77079026f249eb3e1678617ca'/>
<id>urn:sha1:1c9f6fb179bc88b77079026f249eb3e1678617ca</id>
<content type='text'>
This brings the draft configuration mechanisms in tor-ptmgr in line with
the config in other crates, using builders. It also plumbs the config
type through into the main `arti-client` config, and adds some example
lines to `arti-example-config.toml`.
</content>
</entry>
<entry>
<title>Add a few comments based on review.</title>
<updated>2022-09-23T18:08:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-09-23T18:05:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=52ca64fe0da14f7670f61949e94c1dab444c73bb'/>
<id>urn:sha1:52ca64fe0da14f7670f61949e94c1dab444c73bb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add the skeleton of a tor-ptmgr crate</title>
<updated>2022-09-23T18:08:24Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-09-23T13:47:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e412d7400ceb3cee1b0a29253fcf13995c21108f'/>
<id>urn:sha1:e412d7400ceb3cee1b0a29253fcf13995c21108f</id>
<content type='text'>
When complete, this crate will handle launching and using pluggable
transports on demand.
</content>
</entry>
</feed>
