[tor-bugs] #27248 [Core Tor/Tor]: Can we make our node-related structures more efficient?

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Aug 23 12:54:32 UTC 2018


#27248: Can we make our node-related structures more efficient?
-------------------------------------------------+-------------------------
 Reporter:  nickm                                |          Owner:  (none)
     Type:  defect                               |         Status:  new
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.3.5.x-final
Component:  Core Tor/Tor                         |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  035-roadmap-master, 035-triaged-     |  Actual Points:
  in-20180711                                    |
Parent ID:  #27243                               |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by dgoulet):

 Replying to [comment:4 teor]:
 > I am suggesting that Tor keeps each relay field in one place (usually
 the node_t), rather than up to 4 places (routerstatus_t, microdesc_t,
 routerinfo_t and node_t).

 +1 on this idea.

 I *think* (to be verified), that dirauth might need to have this
 separation concept in order to publish that information but also to create
 the consensus. In other words, iirc, when receiving for instance a new
 microdescriptor from a relay, the code then tries to find differences
 (cosmetic or not) from the previous one.

 So for dirauth, keeping those objects separate makes things I guess easier
 code wise. Again, not entirely sure.

 Anyway, overall, I strongly agree that `node_t` could keep only the
 required field for which a lot of them appear in all 3 objects but also
 I'm guessing some fields are also probably only useful for dirauth.

 There is a concept of mutable vs immutable with these objects within a
 `node_t` object though but we can figure that part easily and even create
 a way better/clearer/safer model for that part.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/27248#comment:5>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list