<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-guardmgr/src/fallback, branch arti-v0.2.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.2.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.2.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-03-30T14:41:40Z</updated>
<entry>
<title>Fix some Rustdoc links.</title>
<updated>2022-03-30T14:41:40Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-29T15:17:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3e92d30e4999f0cd50afd3359c73abfdbaf61d8a'/>
<id>urn:sha1:3e92d30e4999f0cd50afd3359c73abfdbaf61d8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactor FirstHopId into type-differentiated form</title>
<updated>2022-03-30T14:41:39Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-29T14:55:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=6282df34fb00c3b8b686553e05f8d3172b017ed0'/>
<id>urn:sha1:6282df34fb00c3b8b686553e05f8d3172b017ed0</id>
<content type='text'>
The FirstHopId type now records an enum that stores whether the hop
is a guard or a fallback.  This change addresses concerns about
remembering to check the type or source of an Id before passing it
down to the FallbackState or GuardSet.

Making this change required an API change, so that dirmgr can
report success/failure status without actually knowing whether it's
using a fallback or a guard.
</content>
</entry>
<entry>
<title>Rename Guard=&gt;FirstHop, GuardId=&gt;FirstHopId</title>
<updated>2022-03-30T14:40:59Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-29T13:05:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=13af6134f6180f7241daca9206fa49ed5f26829d'/>
<id>urn:sha1:13af6134f6180f7241daca9206fa49ed5f26829d</id>
<content type='text'>
This is preparation for having separate GuardId and FirstHopId types
that distinguish which back-end they index.
</content>
</entry>
<entry>
<title>FallbackState: Use itertools::merge_join_by.</title>
<updated>2022-03-30T14:40:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-29T12:53:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9803b645c0069ac151ca12ca2b93ad9a4bbf6dd1'/>
<id>urn:sha1:9803b645c0069ac151ca12ca2b93ad9a4bbf6dd1</id>
<content type='text'>
This replaces a hand-coded replacement that was probably a little
less efficient.
</content>
</entry>
<entry>
<title>Fold fallback::Status::reset() into its (only) caller.</title>
<updated>2022-03-30T14:40:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-29T12:48:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b752c6c7712baaa48d97b0d53f72c47b0b5513a1'/>
<id>urn:sha1:b752c6c7712baaa48d97b0d53f72c47b0b5513a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename FallbackState::lookup_mut =&gt; get_mut.</title>
<updated>2022-03-30T14:40:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-29T12:44:47Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=9bf2fe3acab03d1342f4abf3a6dcaefe5a97fbbd'/>
<id>urn:sha1:9bf2fe3acab03d1342f4abf3a6dcaefe5a97fbbd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename FallbackSet =&gt; FallbackState.</title>
<updated>2022-03-30T14:40:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-29T12:42:03Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b1ccd3c7dc1902c52cd2f63a15c7c81e320fb171'/>
<id>urn:sha1:b1ccd3c7dc1902c52cd2f63a15c7c81e320fb171</id>
<content type='text'>
</content>
</entry>
<entry>
<title>guardmgr::fallback::set: basic unit tests.</title>
<updated>2022-03-30T14:40:14Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-26T15:08:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b88789d1dd3e550eed7362119dae4440960bab4e'/>
<id>urn:sha1:b88789d1dd3e550eed7362119dae4440960bab4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace the fallback directories when they change in the config.</title>
<updated>2022-03-30T14:39:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-26T00:28:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d88e9d676e8204078152fccc7f9ef893e136ac03'/>
<id>urn:sha1:d88e9d676e8204078152fccc7f9ef893e136ac03</id>
<content type='text'>
The code here uses a new iterator type, since I couldn't find one of
these on crates.io.  I tried writing the code without it, but it was
harder to follow and test.
</content>
</entry>
<entry>
<title>Add status tracking to FallbackDir.</title>
<updated>2022-03-30T14:39:09Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-25T23:19:57Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bfb2353a8f627b189e104e606b3284fdfaa6d98b'/>
<id>urn:sha1:bfb2353a8f627b189e104e606b3284fdfaa6d98b</id>
<content type='text'>
We do this by creating a new FallbackSet type that includes status
information, and updating the GuardMgr APIs to record success and
failure about it when appropriate.  We can use this to mark
FallbackDirs retriable (or not).

With this change, FallbackDir is now stored internally as a Guard in
the GuardMgr crate.  That's fine: the FallbackDir type really only
matters for configuration.
</content>
</entry>
</feed>
