diff options
author | Nick Mathewson <nickm@torproject.org> | 2018-08-28 11:34:31 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-11-19 08:26:10 -0500 |
commit | 83be4d2bbd7a4ed584f42d043558a4026c4a449d (patch) | |
tree | b6e2f286a66ae95a7a1a2d89729599947bf3c879 /src/core/include.am | |
parent | a182301152afe9cd066516ae02f588840b2efc43 (diff) | |
download | tor-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.am | 3 |
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 \ |