<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirmgr/src/bootstrap.rs, branch arti-v0.5.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.5.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-06-14T18:10:18Z</updated>
<entry>
<title>Make display formats work with older derive_more.</title>
<updated>2022-06-14T18:10:18Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-14T18:10:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=331578d19cf18457f5871966005183a6bda8d374'/>
<id>urn:sha1:331578d19cf18457f5871966005183a6bda8d374</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Do not update_progress on load if nothing happened.</title>
<updated>2022-06-14T13:58:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-14T13:58:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=660b3104a9780b8c1f7d87d314408a8c3bacb843'/>
<id>urn:sha1:660b3104a9780b8c1f7d87d314408a8c3bacb843</id>
<content type='text'>
If there was no partial information, then calling update_progress
will now report a stall in this case, which is not what we want.
</content>
</entry>
<entry>
<title>DirMgr: Track errors, stalls, and resets as part of status.</title>
<updated>2022-06-13T17:58:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-13T17:58:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=13c152d2ac853296124b898389e550557dde98cc'/>
<id>urn:sha1:13c152d2ac853296124b898389e550557dde98cc</id>
<content type='text'>
A "reset" happens whenever we have to start a download attempt over
-- either because we ran out of retries, or we found something wrong
with the consensus after fetching certificates.

An "error" happens when we have a recoverable error from one or more
directory sources.

A "stall" happens whenever a round of downloads or cache loads leads
to no change in the status.

We don't yet use this as part of our status reporting.
</content>
</entry>
<entry>
<title>Refactor our logic for distinguishing download attempts</title>
<updated>2022-06-13T17:21:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-13T17:21:09Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2a2afaa7c277da2b2bfe00b65385eeef840fbbde'/>
<id>urn:sha1:2a2afaa7c277da2b2bfe00b65385eeef840fbbde</id>
<content type='text'>
Previously we used the "if-modified-since" time associated with the
consensus download, and/or the "valid-after" time in the consensus
attempt, to put multiple attempts into sequence, and to tell one
from another.  But that approach was always a kludge, and will soon
get more unreliable as the DirStatus logic gets a bit more complex.

With this commit, we change separate download attempts to be
identified with an AttemptId that increments whenever we decide to
get a different directory from the one we have.  IMO this new code
is _much_ cleaner.
</content>
</entry>
<entry>
<title>Refactor most DirStatus users to use DirProgress.</title>
<updated>2022-06-13T16:22:04Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-13T16:22:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=68ea880b84c9aedfc276921675f94a257bcc2556'/>
<id>urn:sha1:68ea880b84c9aedfc276921675f94a257bcc2556</id>
<content type='text'>
This is all crate-internal APIs, fortunately.
</content>
</entry>
<entry>
<title>DirMgr: Refactor bootstrap to use a TaskSchedule for sleeping.</title>
<updated>2022-06-10T17:59:30Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-07T16:37:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=171b406b00d0abef5debbb3b0090dfe881206bac'/>
<id>urn:sha1:171b406b00d0abef5debbb3b0090dfe881206bac</id>
<content type='text'>
This change (not yet exposed as an API) will let the TorClient have
a `TaskHandle` corresponding to the directory task, letting it
make the directory task dormant as needed.
</content>
</entry>
<entry>
<title>DirMgr:: Remove Error::NoChange as redundant.</title>
<updated>2022-05-25T12:58:37Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-25T12:58:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0caa5bcba5c3be8aca2fb90331a830d1a22f5e22'/>
<id>urn:sha1:0caa5bcba5c3be8aca2fb90331a830d1a22f5e22</id>
<content type='text'>
Now that the relevant functions now report changed/not-changed
status via a boolean out-parameter (see !527), there's no reason to
have a separate NoChanged error case.

Closes #484.
</content>
</entry>
<entry>
<title>DirMgr: Stop load-from-cache process when there is no change.</title>
<updated>2022-05-24T12:50:20Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-24T12:50:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8e15c97f56f19ff63cb208f1832827860ad56925'/>
<id>urn:sha1:8e15c97f56f19ff63cb208f1832827860ad56925</id>
<content type='text'>
Previously in !511 I had introduced a bug where, if there was an
error more serious than "no change", that error would keep us from
noticing that we had no change, and we'd loop until the safety
counter ran out.  Then we'd panic.

This commit fixes the bug by reintroducing the `changed` boolean --
this time as an outparam for the add_from_* methods.

Fixes #482.
</content>
</entry>
<entry>
<title>Simplify advance and reset functions with mem::replace.</title>
<updated>2022-05-19T12:09:05Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-19T12:09:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5b5b4bbbea7217969509dd3a20318744ecf247cd'/>
<id>urn:sha1:5b5b4bbbea7217969509dd3a20318744ecf247cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Explain why we call update_status unconditionally.</title>
<updated>2022-05-19T12:04:57Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-05-19T12:04:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=eab0046d0ea87e7d80ff4dadf2e71dc326809521'/>
<id>urn:sha1:eab0046d0ea87e7d80ff4dadf2e71dc326809521</id>
<content type='text'>
</content>
</entry>
</feed>
