summaryrefslogtreecommitdiff
path: root/src/feature/nodelist/microdesc.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-08-28 11:34:31 -0400
committerNick Mathewson <nickm@torproject.org>2018-11-19 08:26:10 -0500
commit83be4d2bbd7a4ed584f42d043558a4026c4a449d (patch)
treeb6e2f286a66ae95a7a1a2d89729599947bf3c879 /src/feature/nodelist/microdesc.c
parenta182301152afe9cd066516ae02f588840b2efc43 (diff)
downloadtor-83be4d2bbd7a4ed584f42d043558a4026c4a449d.tar.gz
tor-83be4d2bbd7a4ed584f42d043558a4026c4a449d.zip
Backend for compact node-family representation.
This representation is meant to save memory in microdescriptors -- we can't use it in routerinfo_t yet, since those families need to be encoded losslessly for directory voting to work. This representation saves memory in three ways: 1. It uses only one allocation per family. (The old way used a smartlist (2 allocs) plus one strdup per entry.) 2. It stores identity digests in binary, not hex. 3. It keeps families in a canonical format, memoizes, and reference-counts them. Part of #27359.
Diffstat (limited to 'src/feature/nodelist/microdesc.c')
0 files changed, 0 insertions, 0 deletions