[tor-dev] OnionOO protocol questions
Norman Danner
ndanner at wesleyan.edu
Sat Aug 4 12:37:30 UTC 2012
On 8/4/12 1:45 AM, Karsten Loesing wrote:
> Hi Norman,
>
> On 8/3/12 9:42 PM, Norman Danner wrote:
>> If I understand the weights documents correctly, there is no one
>> consensus weight for a given router. What exactly is the ordering we
>> should use when the request asks to order by consensus weight?
>>
>> It seems like determining the consensus weights of the selected relays
>> could be a relatively slow process, because at least with the
>> filesystem-backed approach we are using right now, each individual
>> weights file has to be opened and read. Is this correct, or am I
>> missing something here?
>
> Ordering by consensus weight (or any other field) is independent of the
> returned document type, like weights documents. The fact that weights
> documents contain consensus weight histories doesn't change that. You'd
> order by the latest known consensus weight of a relay. You don't have
> to open and parse all the weights files for that, which would be a
> performance disaster.
>
> The way how the current Java Onionoo works is that we do the filtering
> and ordering only based on the summary helper file. The result is an
> ordered list of fingerprints. Only in the last step we look at the
> requested document type and fetch documents from disk by fingerprint.
>
> The Python Onionoo should probably do the same thing but using a
> database. There would be a single database table that can be used to
> filter and sort results. Those results can then be joined with document
> tables by fingerprint to fetch all the JSON strings to return.
This is the structure I was imagining we would follow. Thanks.
- Norman
--
Norman Danner - ndanner at wesleyan.edu - http://ndanner.web.wesleyan.edu
Department of Mathematics and Computer Science - Wesleyan University
More information about the tor-dev
mailing list