You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/types
M. J. Fromberger 9385dfe7f6
ipn/ipnlocal/netmapcache: add a package to split and cache network maps (#18497)
This commit is based on part of #17925, reworked as a separate package.

Add a package that can store and load netmap.NetworkMap values in persistent
storage, using a basic columnar representation. This commit includes a default
storage interface based on plain files, but the interface can be implemented
with more structured storage if we want to later.

The tests are set up to require that all the fields of the NetworkMap are
handled, except those explicitly designated as not-cached, and check that a
fully-populated value can round-trip correctly through the cache.  Adding or
removing fields, either in the NetworkMap or in the cached representation, will
trigger either build failures (e.g., for type mismatch) or test failures (e.g.,
for representation changes or missing fields). This isn't quite as nice as
automatically updating the representation, which I also prototyped, but is much
simpler to maintain and less code.

This commit does not yet hook up the cache to the backend, that will be a
subsequent change.

Updates #12639

Change-Id: Icb48639e1d61f2aec59904ecd172c73e05ba7bf9
Signed-off-by: M. J. Fromberger <fromberger@tailscale.com>
2 days ago
..
appctype all: remove AUTHORS file and references to it 5 days ago
bools all: remove AUTHORS file and references to it 5 days ago
dnstype all: remove AUTHORS file and references to it 5 days ago
empty all: remove AUTHORS file and references to it 5 days ago
flagtype all: remove AUTHORS file and references to it 5 days ago
geo all: remove AUTHORS file and references to it 5 days ago
iox all: remove AUTHORS file and references to it 5 days ago
ipproto all: remove AUTHORS file and references to it 5 days ago
jsonx all: remove AUTHORS file and references to it 5 days ago
key all: remove AUTHORS file and references to it 5 days ago
lazy all: remove AUTHORS file and references to it 5 days ago
logger all: remove AUTHORS file and references to it 5 days ago
logid all: remove AUTHORS file and references to it 5 days ago
mapx all: remove AUTHORS file and references to it 5 days ago
netlogfunc all: remove AUTHORS file and references to it 5 days ago
netlogtype all: remove AUTHORS file and references to it 5 days ago
netmap ipn/ipnlocal/netmapcache: add a package to split and cache network maps (#18497) 2 days ago
nettype all: remove AUTHORS file and references to it 5 days ago
opt all: remove AUTHORS file and references to it 5 days ago
persist all: remove AUTHORS file and references to it 5 days ago
prefs all: remove AUTHORS file and references to it 5 days ago
preftype all: remove AUTHORS file and references to it 5 days ago
ptr all: remove AUTHORS file and references to it 5 days ago
result all: remove AUTHORS file and references to it 5 days ago
structs all: remove AUTHORS file and references to it 5 days ago
tkatype all: remove AUTHORS file and references to it 5 days ago
views all: remove AUTHORS file and references to it 5 days ago