| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| |
|
|
| |
This was simply missing.
|
| |
|
|
|
| |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3991#note_3413168
|
| |
|
|
|
|
|
|
| |
For encoding, we need to represent the raw parameters.
This change is carefully arranged so that when the retain unknown feature is
disabled (ie, in clients), the per-router data structure remains the
same.
|
| |
|
|
|
|
|
| |
FixedB64 is the right type for these, when they are present.
This abolishes some ad-hoc boilerplate. Sadly we still need a bit of
that for Reasons.
|
| |
|
|
|
|
|
|
| |
This will let us use it in more places, more sensibly.
Sadly it means a lot of syntactic vinegar at many of the call sites in
the old parser, which has very janky ideas about how errors should
work.
|
| |
|
|
| |
(It's now done in tor_protover.)
|
| |
|
|
|
|
|
|
| |
Many call sites pass one flag. We're going to have a type-level
distinction between a single flag and a set. But that's annoying at
many of the call sites which want to specify a fixed single flag.
Note that `set_flags` doesn't only set flags. It replaces them.
|
| | |
|
| |
|
|
| |
This will have space for unknown flags.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
In md consensuses the referenced document digest is in the `m` field.
This seems to be to make it similar to votes. But really the function
of the md desc hash in md rs entries is much more parallel to the
plain desc hash in plain rs entries. The way the spec has done it
means the `r` item has a needlessly different syntax.
|
| |
|
|
|
|
|
|
|
| |
This makes the Rust structure closer to the document structure.
Arguably, this makes the Rust structure worse. But: I'm really very
keen on avoiding handwritten parsing and printing code. And, in the
longer term, having this linkage will hopefully apply pressure to
avoid further protocol complexity/variation/chaos.
|
| |
|
|
|
|
|
| |
This will allow type-driven parsing.
Don't change the type in the (now-mostly-obsolete) builder and
accessors; that would seem like pointless churn.
|
| |
|
|
|
|
|
| |
The amount we're going to be able to reuse for votes is less than we
might hope.
This commit is just code motion.
|
| | |
|
| |
|
|
| |
It's not just types that can vary by variety.
|
| |
|
|
| |
We rename the files from per_ to each_.
|
| |
|
|
|
| |
This is now more obviously not needed. We should eventually remove
this, or remove finish.
|
| |
|
|
| |
Now we only need one type.
|
| | |
|
| |
|
|
|
|
| |
More code motion.
We're going to get rid of this type completely eventually.
|
| |
|
|
|
|
|
|
|
| |
This is much code motion.
This splits many types into two. For example, `Conensus` is
now`plain::Consensus<RS>` and `md::Consensus<RS>`.
We're going to get rid of the generics later in this branch.
|
|
|
This is empty modules and scaffolding.
|