[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-bugs] #1757 [Tor - Tor client]: Microdescriptors: abstract the notion of "Tor node" in the code
#1757: Microdescriptors: abstract the notion of "Tor node" in the code
------------------------------+---------------------------------------------
Reporter: nickm | Owner:
Type: task | Status: new
Priority: normal | Milestone: Deliverable-Sep2010
Component: Tor - Tor client | Version:
Keywords: | Parent: #1748
------------------------------+---------------------------------------------
Right now we have at least 5 things that we use to indicate a Tor node:
* A `const char *` pointing to an ID key digest
* A `routerinfo_t`
* A `routerstatus_t`
* An `extend_info_t`
* An entry in `rephist.c`, though those are mostly isolated.
For microdescriptors, we're about to add another thing:
* A `microdescriptor_t`
Making our code work properly with all of these variant things is already
a bit hairy. It sure would be nice if we had some kind of abstract node_t
that could make it so our code worked well with all of the above.
First, we'll need a basic design here. At the minimum we should make
routerstatus_t and routerinfo_t (basically) immutable, and add a node_t
that abstracts routerstatus_t and routerinfo_t. Then, we can make it so
that its interface can be satisfied by microdescriptor_t as well.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/1757>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online