diff options
author | 2009-11-09 23:49:34 +0000 | |
---|---|---|
committer | 2009-11-09 23:49:34 +0000 | |
commit | 56ea0ff855d3f54b367c69697e85f382382c9cac (patch) | |
tree | 52ccee6ba12c8a4dc2402e5da8145b7ab90ef24b /lib | |
parent | bump pfsync protocol version (diff) | |
download | wireguard-openbsd-56ea0ff855d3f54b367c69697e85f382382c9cac.tar.xz wireguard-openbsd-56ea0ff855d3f54b367c69697e85f382382c9cac.zip |
- add a reference count and flags to struct expand_node
- during expansion, no longer create a new node for each result but try to
lookup for an existing equivalent node and increment its reference count
so that: a) we save on memory, b) we don't need to expand the same users
again and again just because they keep appearing in expansion results.
- while expanding, flag nodes as F_EXPAND_DONE so that we know which nodes
we already processed
- be smarter when expanding, if we have a clue that an iteration has not
brought any new result (because no new nodes were added and all existing
nodes have F_EXPAND_DONE), end expansion and proceed to delivery.
- various small cleanups
discussed with jacekm@ yesterday, rebuild aliases db, make clean
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions