Need an API to get the path of a circuit
For #406 (closed) and related tickets, I need to know the actual target of a one-hop directory circuit that I've gotten or constructed via get_or_launch_dir(). I can see a few ways to do that:
- I could make it so every
ClientCirc
contains a description of its path through the network as anOwnedPath
or something. This would increase memory requirements forClientCirc
by a bit, but no more than 5%.1 - Like 1, but it's optional at construction time whether this info is saved. (Right now we only need this information when dealing with directory, but later we might want it for more things. C Tor always remember this information.)
- (... a bunch of other ways I didn't like as much ...)
-
The memory requirement seems like it would be around 3 hops times (ed ID + rsa ID + SocketAddr), so about 3 * (32+20+32)=252 bytes per client circuit. Right now, client circuits already need over 5.8 KiB each, with the bulk of that taken up by AES_CTR states.
↩