tor/src
Nick Mathewson 33a0c619a8 Do not store cached_dir_t for consensus in RAM if not a dircache.
There are three reasons we use a cached_dir_t to hold a consensus:
  1. to serve that consensus to a client
  2. to apply a consensus diff to an existing consensus
  3. to send the consensus to a controller.

But case 1 is dircache-only.  Case 2 and case 3 both fall back to
networkstatus_read_cached_consensus().  So there's no reason for us
to store this as a client.  Avoiding this saves about 23% of our RAM
usage, according to our experiments last month.

This is, semantically, a partial revert of e5c608e535.

Fixes bug 27247; bugfix on 0.3.0.1-alpha.
2018-09-07 19:48:56 -04:00
..
app Merge remote-tracking branch 'dgoulet/ticket20700_035_03' 2018-09-07 15:03:32 -04:00
config Update sample torrc files to warn about not using BridgeRelay and MyFamily together 2018-09-02 21:11:52 +03:00
core Merge branch 'maint-0.3.4' 2018-09-07 08:46:46 -04:00
ext Update prefork and postfork NSS code for unit tests. 2018-09-04 14:52:35 -04:00
feature Do not store cached_dir_t for consensus in RAM if not a dircache. 2018-09-07 19:48:56 -04:00
lib Merge remote-tracking branch 'dgoulet/ticket20700_035_03' 2018-09-07 15:03:32 -04:00
rust Merge branch 'nss_squashed' into nss_merge 2018-09-04 20:21:07 -04:00
test Merge remote-tracking branch 'dgoulet/ticket20700_035_03' 2018-09-07 15:03:32 -04:00
tools Merge branch 'nss_squashed' into nss_merge 2018-09-04 20:21:07 -04:00
trunnel Merge branch 'socks_trunnel4_squashed' into socks_trunnel4_squashed_merged 2018-07-12 11:47:25 -04:00
win32 Update to 0.3.4.7-rc-dev 2018-08-24 16:49:56 -04:00
include.am Start splitting src/or 2018-07-05 17:15:50 -04:00