dirauth consensus algorithm
Arti dirauth will need to be able to calculate consensuses given votes. (Votes can come from C Tor or from Arti dirauth #1928, and are exchanged via dircache #1924.)
-
New netdoc parser/printer (try to make a new derive macro) !3135 (merged) -
Encode whole of vote/consensus doc in format for new derive macro -
Use multiple-include technique to to prepare for defining votes as well as md consensuses, removing the generic on NetworkStatus
. -
Derive (or implement) parse2
traits for types in the main part oftor-netdoc
. -
Implement a derive macro for netdoc writing - this can be done with the existing traits, I think. -
Ensure that the new writing algorithm sorts its output (for reproducibility)
-
-
Implement the printing traits for votes (by derive)
-
-
Function for calculating consensus field-by-field -
CLI utility for testing the votes-to-consensus calculator -
Plugin for C Tor -
Changes to C Tor to call the plugin (needs help from a C Tor dev)
Edited by Ian Jackson