Nick Mathewson
ab0c80de2b
Fix/suppress a few more clippy lints in tests.
...
I'm alright with allowing cognitive-complexity violations in the
tests.
2021-09-08 14:20:47 -04:00
Nick Mathewson
949313e288
Merge remote-tracking branch 'origin/mr/71'
2021-09-08 14:14:39 -04:00
Nick Mathewson
9ba16a3104
Check for correct-ish decoding of all parameters.
2021-09-08 13:46:24 -04:00
Nick Mathewson
929cf84073
Add validation function to WeightSet
...
Our relay selection code can give wrong answers if we overflow
u64::MAX, so let's make sure we never do that.
2021-09-08 12:38:20 -04:00
Nick Mathewson
0468b41f33
Replace weighted-choice code with rand::seq::SliceRandom.
...
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.)
2021-09-08 12:22:56 -04:00
Daniel Eades
fb3b8b84b5
fix/silence clippy lints in test modules
2021-09-08 17:28:31 +02:00
Nick Mathewson
557a0ff40b
Move all crates into a `crates` subdirectory.
...
This will cause some pain for now, but now is really the best time
to do this kind of thing.
2021-08-27 09:53:09 -04:00