summaryrefslogtreecommitdiff
path: root/crates/tor-netdir/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* add semicolons if nothing returnedDaniel Eades2021-11-251-0/+1
|
* deglob some enums, use concise iteration syntaxDaniel Eades2021-11-251-2/+2
|
* Fix a few typos.Nick Mathewson2021-11-241-1/+1
| | | | Also fix some commonwealth spellings that had slipped in.
* Document (and allow) behavior for weird values of subnet masks.Nick Mathewson2021-11-181-2/+10
| | | | Chutney needs this, to avoid putting every relay in the same family.
* Flatten enforce_distance into path_rules.Nick Mathewson2021-11-181-5/+13
| | | | Also use the path_rules name consistently throughout the code.
* Fix typosDimitris Apostolou2021-11-121-1/+1
|
* Run "cargo fix --edition-idioms=2018".Nick Mathewson2021-10-221-1/+1
|
* Fix a documentation link error.Nick Mathewson2021-10-131-4/+2
|
* Add a function to look up a Relay by ChanTarget.Nick Mathewson2021-10-111-0/+8
|
* enable checked_conversions lint.Nick Mathewson2021-10-091-0/+1
|
* Initial backend implementation for guard node manager.Nick Mathewson2021-10-071-7/+16
| | | | | | | There are some missing parts here (like persistence and tests) and some incorrect parts (I am 90% sure that the "exploratory circuit" flag is bogus). Also it is not integrated with the circuit manager code.
* Update total_weight to use UncheckedRelay.Nick Mathewson2021-10-071-3/+7
|
* Make UncheckedRelay public in tor-netdir.Nick Mathewson2021-10-071-4/+4
| | | | This will let us provide a couple of better APIs for use in tor-guardmgr
* Add From<u64> for RelayWeight.Nick Mathewson2021-10-071-0/+6
|
* Ensure pick_n_relays returns relays in random order.Nick Mathewson2021-09-291-3/+5
| | | | (Also, fix a test)
* tor-netdir: Add RelayWeight type and accessors.Nick Mathewson2021-09-291-0/+128
| | | | | I'm not thrilled with this code, but I think it's needed to implement guards correctly.
* tor-netdir: Add some accessor that guardmgr will need.Nick Mathewson2021-09-291-2/+67
| | | | | | | | We'll need `id_pair_is_listed()` to track whether a sampled guard is (or is not) listed in the consensus. We'll need `missing_descriptor_for` to see whether we've downloaded enough microdescs to use a consensus.
* tor-netdir: Add a by_id_pair() function to look up a relay by both IDs.Nick Mathewson2021-09-161-1/+21
|
* Add identity-based accessors (and indices) to NetDir.Nick Mathewson2021-09-101-36/+152
| | | | | | (Thank goodness for rust; we messed up the coherency in C here so many times, but I'm pretty sure that this time around we can't have gotten it wrong.)
* Fix/suppress a few more clippy lints in tests.Nick Mathewson2021-09-081-0/+1
| | | | | I'm alright with allowing cognitive-complexity violations in the tests.
* Merge remote-tracking branch 'origin/mr/71'Nick Mathewson2021-09-081-2/+3
|\
| * fix/silence clippy lints in test modulesDaniel Eades2021-09-081-2/+3
| |
* | Replace weighted-choice code with rand::seq::SliceRandom.Nick Mathewson2021-09-081-10/+100
|/ | | | | | | | 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-271-0/+1038
This will cause some pain for now, but now is really the best time to do this kind of thing.