<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-client/src/client.rs, branch derive-traits</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=derive-traits</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=derive-traits'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-02-28T16:41:13Z</updated>
<entry>
<title>arti-client: use PreferredRuntime by default, doc cleanups</title>
<updated>2022-02-28T16:41:13Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-02-25T18:13:02Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=13ba0ea005ddd87bba2d53ab738ce948f031e1e8'/>
<id>urn:sha1:13ba0ea005ddd87bba2d53ab738ce948f031e1e8</id>
<content type='text'>
This makes using the `PreferredRuntime` the first-class option inside
`arti-client`, freeing users who don't want to think about runtimes from
having to do so.

`TorClient::create_unbootstrapped` and `builder` now automatically
use this runtime, leaving only `builder_custom` for users who wish to
manually specify a runtime.

This lets us clean up the docs a lot: mentions of using custom runtimes
are now relegated to nearer the end of the crate-level documentation,
and we mostly just link to `tor_rtcompat`'s docs to explain more there.
Instead, we take some more time to explain how you use the builder API
to create clients synchronously.

Other doc cleanups included getting rid of the explanation of `TorAddr`
in the main crate-level doc; this is already well-documented elsewhere,
and is something users should discover organically later.

fixes arti#326
</content>
</entry>
<entry>
<title>Merge branch 'get-runtime' into 'main'</title>
<updated>2022-02-25T13:36:34Z</updated>
<author>
<name>Ian Jackson</name>
<email>iwj@torproject.org</email>
</author>
<published>2022-02-25T13:36:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0ebab3df0b0e9392bc252e4f24bd1e76ee202fe8'/>
<id>urn:sha1:0ebab3df0b0e9392bc252e4f24bd1e76ee202fe8</id>
<content type='text'>
TorClient: Add get_runtime() convenience method

See merge request tpo/core/arti!350</content>
</entry>
<entry>
<title>TorClient:runtime(): rename from get_runtime</title>
<updated>2022-02-25T10:45:30Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-02-25T10:45:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=310779c39d74b4827a96fd43b15280b4b2745519'/>
<id>urn:sha1:310779c39d74b4827a96fd43b15280b4b2745519</id>
<content type='text'>
As per
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/350#note_2781368
</content>
</entry>
<entry>
<title>arti-client: Unlock the state manager on failure to bootstrap</title>
<updated>2022-02-24T19:55:59Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-02-18T16:02:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c6fdd7c0037df821a7cfc475993322958c2f006a'/>
<id>urn:sha1:c6fdd7c0037df821a7cfc475993322958c2f006a</id>
<content type='text'>
`StateMgr` got a new `unlock()` method that does what it says on the
tin. We now call it from `bootstrap()` using the new
`util::StateMgrUnlockGuard`, which works in a manner similar to the
`BoolResetter` from `tor_dirmgr`.

(A decent small little task in future might be to unify these types in
some sort of general arti utility crate?)

closes arti#335
</content>
</entry>
<entry>
<title>TorClient: Add get_runtime() convenience method</title>
<updated>2022-02-24T14:33:30Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-02-24T11:08:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=82af514926ae6af0b01bd32c1a0aaaadf18a57c3'/>
<id>urn:sha1:82af514926ae6af0b01bd32c1a0aaaadf18a57c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make a TorClientBuilder API.</title>
<updated>2022-02-18T20:28:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-18T20:28:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c910226b551a9ffc453e7f4baba0562d3a6d7bdc'/>
<id>urn:sha1:c910226b551a9ffc453e7f4baba0562d3a6d7bdc</id>
<content type='text'>
This is a defensive API choice to protect against the possibility
that we'll want to add a bunch of other non-config options in
the future.

Closes #350
</content>
</entry>
<entry>
<title>Merge branch 'eta/lazy-init' into 'main'</title>
<updated>2022-02-16T20:08:38Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-02-16T20:08:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=30439f9dc2ffdeaedf01fa4512557bee297fffbc'/>
<id>urn:sha1:30439f9dc2ffdeaedf01fa4512557bee297fffbc</id>
<content type='text'>
arti-client: add ability to automatically bootstrap

Closes #278

See merge request tpo/core/arti!322</content>
</entry>
<entry>
<title>arti-client: add ability to automatically bootstrap</title>
<updated>2022-02-16T19:29:16Z</updated>
<author>
<name>eta</name>
<email>tor@eta.st</email>
</author>
<published>2022-02-16T15:57:24Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=790ea4af4bf5223ca81218d0f5508db2bd2db471'/>
<id>urn:sha1:790ea4af4bf5223ca81218d0f5508db2bd2db471</id>
<content type='text'>
The new `BootstrapBehavior` enum controls whether an unbootstrapped
`TorClient` will bootstrap itself automatically (`Ondemand`) when an
attempt is made to use it, or whether the user must perform
bootstrapping themselves (`Manual`).

The `lazy-init` example shows how you could write a simple
`get_tor_client()` function that used a global `OnceCell` to share
a Tor client across an entire application with this API.

closes arti#278
</content>
</entry>
<entry>
<title>Move persistent state flush from client to circmgr</title>
<updated>2022-02-16T01:04:45Z</updated>
<author>
<name>Yuan Lyu</name>
<email>lyuyuan92@gmail.com</email>
</author>
<published>2022-02-16T01:04:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=98b1a5a2794b204931618185b944fdc69e61a649'/>
<id>urn:sha1:98b1a5a2794b204931618185b944fdc69e61a649</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify wait_for_bootstrap to use a Mutex.</title>
<updated>2022-02-14T14:59:37Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-02-14T14:59:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8ea95aee7ae6b9cd9e78f7d76930ff8e9df35994'/>
<id>urn:sha1:8ea95aee7ae6b9cd9e78f7d76930ff8e9df35994</id>
<content type='text'>
Since the only purpose of this function is to make sure that no
bootstrapping task is running, a simple futures::lock::Mutex
should do the job just fine.

Closes #337.
</content>
</entry>
</feed>
