<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-netdir/src/lib.rs, branch arti-v0.6.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.6.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v0.6.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2022-07-26T18:18:18Z</updated>
<entry>
<title>Fix a rustdoc link in tor-netdir.</title>
<updated>2022-07-26T18:18:18Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-07-26T18:18:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ea8db813acd5c0b8c93d97ab03716d97c8239765'/>
<id>urn:sha1:ea8db813acd5c0b8c93d97ab03716d97c8239765</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-netdir: Remove latest_netdir method.</title>
<updated>2022-07-26T09:41:38Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-07-25T16:09:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=241427ea3ff399228e6a2be4a0ec971084a326de'/>
<id>urn:sha1:241427ea3ff399228e6a2be4a0ec971084a326de</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add new APIs to NetDirProvider to better support timeliness.</title>
<updated>2022-07-26T09:40:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-07-25T14:55:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c39aa5de73fb8f1747752b7b722e8b94b01e315b'/>
<id>urn:sha1:c39aa5de73fb8f1747752b7b722e8b94b01e315b</id>
<content type='text'>
Over the years we've found that most callers who want a netdir want
what C Tor calls a "reasonably live" network directory: One that is
not expired by too much, or too far in the future. But a few want a
_strictly_ live directory: one that says it is valid now, with no
tolerances.  And a few want _any_ directory, no matter how expired
it is.

This commit adds net methods to NetDirProvider to provide these
directories.  I think that most use cases will want to explicitly
think about what kind of directory they want, so I've made `netdir`
the simplest method.  I might remove `timely_netdir` by the end of
this branch; see TODO comments.

Part of #518.
</content>
</entry>
<entry>
<title>netdir: Make pick() functions take FnMut closures.</title>
<updated>2022-07-12T15:43:49Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-07-12T15:43:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=98cda34fb82435cb082dd233e32bfe2cf63c499f'/>
<id>urn:sha1:98cda34fb82435cb082dd233e32bfe2cf63c499f</id>
<content type='text'>
There's no reason to enforce their being Fn closures, and allowing
them to be FnMut allows us to count which filters make us rejected
given relays.
</content>
</entry>
<entry>
<title>Run maint/add_warning crates/*/src/{lib,main}.rs</title>
<updated>2022-06-23T18:15:42Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-06-23T18:15:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=589c6e52bb49ccfe6c0ad9d18d6b994978e46c6c'/>
<id>urn:sha1:589c6e52bb49ccfe6c0ad9d18d6b994978e46c6c</id>
<content type='text'>
Update all lint blocks
</content>
</entry>
<entry>
<title>tor-netdir: testnet: Make construct_netdir infallible</title>
<updated>2022-06-13T13:25:45Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2022-06-13T13:25:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7d223ac9e6c6d998d51a2d66baaeddea086dca37'/>
<id>urn:sha1:7d223ac9e6c6d998d51a2d66baaeddea086dca37</id>
<content type='text'>
This is a *lot* of unwraps.  The function takes no parameters and
is used only for testing.  It ought to be infallible.
</content>
</entry>
<entry>
<title>Merge branch 'use-testing-rng'</title>
<updated>2022-06-07T23:02:12Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-07T23:02:12Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5854e4bbd9d1e3d92433a2cf9549109fc3a4eff9'/>
<id>urn:sha1:5854e4bbd9d1e3d92433a2cf9549109fc3a4eff9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make NetDirProvider require Send and Sync.</title>
<updated>2022-06-07T15:44:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-02T21:07:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2223398eb1670c159151bc9aae5fed346b88c904'/>
<id>urn:sha1:2223398eb1670c159151bc9aae5fed346b88c904</id>
<content type='text'>
Our own code is the only stuff that consumes NetDirProvider, and all
the code that consumes it wants it to be Send and Sync.

Making this change avoids our having to define a new function to
upcast Arc&lt;dyn Foo&gt; to Arc&lt;dyn NetDirProvider + Send + Sync&gt;.
</content>
</entry>
<entry>
<title>Add an upcast_arc function to NetDirProvider.</title>
<updated>2022-06-02T21:06:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-02T20:53:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0e6a54351d12ad62a3b8146c50855b065c4584bf'/>
<id>urn:sha1:0e6a54351d12ad62a3b8146c50855b065c4584bf</id>
<content type='text'>
This uses some apparently-standard trickery to implement a function
that lets us upcast from Arc&lt;dyn Subtrait&gt; to Arc&lt;dyn Supertrait&gt;.

I considered as alternatives `as_dyn_trait` and `cast_dyn_object`.
Both were nice, but generated a far larger interface than this.
</content>
</entry>
<entry>
<title>Rewrite tests in tor-netdir to use testing_rng()</title>
<updated>2022-06-02T19:48:41Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-02T19:39:45Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1076f25031c16fdccbc80f3d16882b1267c2a800'/>
<id>urn:sha1:1076f25031c16fdccbc80f3d16882b1267c2a800</id>
<content type='text'>
The randomized tests in this crate take a lot of iterations to
converge, so they default to using a deterministic PRNG seed with
few iterations and higher tolerance, and they only randomize the
tests (with more iterations and tighter tolerances) when you
explicitly opt in to randomization.

(If you specify a seed explicitly, you're doing that to reproduce a
randomized case, so we use the same behavior.)
</content>
</entry>
</feed>
