aboutsummaryrefslogtreecommitdiff
path: root/src/core/include.am
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/core/include.am
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/core/include.am')
-rw-r--r--src/core/include.am3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/include.am b/src/core/include.am
index 1b8ef2ac58..003ef84216 100644
--- a/src/core/include.am
+++ b/src/core/include.am
@@ -106,6 +106,7 @@ LIBTOR_APP_A_SOURCES = \
src/feature/nodelist/microdesc.c \
src/feature/nodelist/networkstatus.c \
src/feature/nodelist/nickname.c \
+ src/feature/nodelist/nodefamily.c \
src/feature/nodelist/nodelist.c \
src/feature/nodelist/node_select.c \
src/feature/nodelist/routerinfo.c \
@@ -340,6 +341,8 @@ noinst_HEADERS += \
src/feature/nodelist/networkstatus_voter_info_st.h \
src/feature/nodelist/nickname.h \
src/feature/nodelist/node_st.h \
+ src/feature/nodelist/nodefamily.h \
+ src/feature/nodelist/nodefamily_st.h \
src/feature/nodelist/nodelist.h \
src/feature/nodelist/node_select.h \
src/feature/nodelist/routerinfo.h \