summaryrefslogtreecommitdiff
path: root/crates/tor-netdir
Commit message (Collapse)AuthorAgeFilesLines
...
* Use derive_builder for Authority and FallbackDir.Nick Mathewson2021-09-102-53/+19
|
* Suppress a cognitive-complexity lint in testsNick Mathewson2021-09-091-0/+1
|
* Add guard-related network parameters.Nick Mathewson2021-09-091-3/+118
|
* Use macros and traits to simplify the declaration of parameters.Nick Mathewson2021-09-091-135/+144
| | | | | | | | | | | | | | | | Previously, we'd have to declare the field for a parameter in one place, its default in a second, and its consensus key in a third. That's error-prone and not so fun! This patch changes the way we declare parameters so that we declare a structure once, and macros expand it to all do the right thing. This required a few new traits and implementations to ensure uniformity across the types that can go in parameters: We need every parameter type to implement TryFrom<i32> and to implement SaturatingFromInt32. Eventually we might want SaturatingFromInt32 to be a more generic SaturatingFrom, but that's not for now.
* Fix/suppress a few more clippy lints in tests.Nick Mathewson2021-09-082-0/+2
| | | | | I'm alright with allowing cognitive-complexity violations in the tests.
* Merge remote-tracking branch 'origin/mr/71'Nick Mathewson2021-09-083-3/+5
|\
| * fix/silence clippy lints in test modulesDaniel Eades2021-09-084-3/+6
| |
* | Check for correct-ish decoding of all parameters.Nick Mathewson2021-09-081-4/+77
| |
* | Add validation function to WeightSetNick Mathewson2021-09-081-1/+18
| | | | | | | | | | Our relay selection code can give wrong answers if we overflow u64::MAX, so let's make sure we never do that.
* | Replace weighted-choice code with rand::seq::SliceRandom.Nick Mathewson2021-09-083-231/+159
|/ | | | | | | | Doing this makes the code faster, lets us throw away some code, and makes it easier to add a "choose-N-disjoint relays" implementation. See large comment about plusses and minuses of new code. (Note that the old implementation wasn't constant-time either.)
* Move all crates into a `crates` subdirectory.Nick Mathewson2021-08-279-0/+2684
This will cause some pain for now, but now is really the best time to do this kind of thing.