<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-dirmgr/src/bootstrap.rs, branch arti-v1.1.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.1.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-11-14T15:47:04Z</updated>
<entry>
<title>dirmgr Store: Use `**` syntax and deref to trait objects</title>
<updated>2022-11-14T15:47:04Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-11-14T14:49:41Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=527ab06376084826855fde08dc05b862a6af6875'/>
<id>urn:sha1:527ab06376084826855fde08dc05b862a6af6875</id>
<content type='text'>
This will allow us to get rid of a needless trait impl.
</content>
</entry>
<entry>
<title>tor-dirclient: Make RequestFailed its own error type</title>
<updated>2022-10-20T16:24:53Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-10-19T11:14:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d9375b2b8d60c43023b6a41c0d2429ea6efa72c6'/>
<id>urn:sha1:d9375b2b8d60c43023b6a41c0d2429ea6efa72c6</id>
<content type='text'>
We're going to have functions on Response that fail by returning only
one of these.

Sadly this diff is quite noisy.
</content>
</entry>
<entry>
<title>tor-dirclient Response: Rename output methods</title>
<updated>2022-10-20T16:24:50Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-10-19T10:57:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3b1af058519a1be1ea2ce893115f2664cb2d8a08'/>
<id>urn:sha1:3b1af058519a1be1ea2ce893115f2664cb2d8a08</id>
<content type='text'>
These don't check errors and are therefore quite hazardous.
I'm going to introduce a more cooked version in a moment.
</content>
</entry>
<entry>
<title>fix clippy::unwrap_used and old TODO for msrv 1.56</title>
<updated>2022-09-10T12:37:32Z</updated>
<author>
<name>trinity-1686a</name>
<email>trinity@deuxfleurs.fr</email>
</author>
<published>2022-09-10T12:37:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=dcbdd076eb5df0d5d118a760d37f0071728bbbe2'/>
<id>urn:sha1:dcbdd076eb5df0d5d118a760d37f0071728bbbe2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>`TaskSchedule`: give error on `sleep*()` if last handle is dropped</title>
<updated>2022-09-07T13:22:38Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-09-07T13:22:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=86e479ae1360a0cea3ad8020653c59f6aa52d338'/>
<id>urn:sha1:86e479ae1360a0cea3ad8020653c59f6aa52d338</id>
<content type='text'>
This fixes an busy-loop.

When the last `TaskHandle` on a `TaskSchedule` is dropped, the
schedule is permanently canceled: whatever operation it was
scheduling should no longer be performed.  But our code was broken:
the `sleep()` and `sleep_until_wallclock()` functions don't verify
whether the handles are dropped or not.

This breakage caused an CPU-eating busy-loop in
`sleep_until_wallclock`.

With this patch, we now return a `Result&lt;(), SleepError&gt;` from these
functions.

Fixes #572.
</content>
</entry>
<entry>
<title>tor-dirmgr: Remove opt_netdir entirely.</title>
<updated>2022-07-26T09:41:38Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-07-25T16:22:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=14cd423630681b22b0836647f923c8e388242f8a'/>
<id>urn:sha1:14cd423630681b22b0836647f923c8e388242f8a</id>
<content type='text'>
Its existence tended to hide bugs, and was just asking for trouble.
</content>
</entry>
<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>
</feed>
