[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