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/wgengine
Brad Fitzpatrick 723c775dbb tsd, ipnlocal, etc: add tsd.System.HealthTracker, start some plumbing
This adds a health.Tracker to tsd.System, accessible via
a new tsd.System.HealthTracker method.

In the future, that new method will return a tsd.System-specific
HealthTracker, so multiple tsnet.Servers in the same process are
isolated. For now, though, it just always returns the temporary
health.Global value. That permits incremental plumbing over a number
of changes. When the second to last health.Global reference is gone,
then the tsd.System.HealthTracker implementation can return a private
Tracker.

The primary plumbing this does is adding it to LocalBackend and its
dozen and change health calls. A few misc other callers are also
plumbed. Subsequent changes will flesh out other parts of the tree
(magicsock, controlclient, etc).

Updates #11874
Updates #4136

Change-Id: Id51e73cfc8a39110425b6dc19d18b3975eac75ce
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2 years ago
..
bench tailcfg, all: use []netip.AddrPort instead of []string for Endpoints 2 years ago
capture various: add golangci-lint, fix issues (#7905) 3 years ago
filter all: use Go 1.22 range-over-int 2 years ago
magicsock tsd, ipnlocal, etc: add tsd.System.HealthTracker, start some plumbing 2 years ago
netlog all: use zstdframe where sensible (#11491) 2 years ago
netstack all: use Go 1.22 range-over-int 2 years ago
router health: break Warnable into a global and per-Tracker value halves 2 years ago
wgcfg all: use Go 1.22 range-over-int 2 years ago
wgint wgengine{,/wgint}: add wgint.Peer wrapper type, add to wgengine.Engine 2 years ago
wglog all: use Go 1.22 range-over-int 2 years ago
winnet all: update copyright and license headers 3 years ago
mem_ios.go all: update copyright and license headers 3 years ago
pendopen.go wgengine: make pendOpen time later, after dup check 2 years ago
userspace.go health: add Tracker type, in prep for removing global variables 2 years ago
userspace_ext_test.go wgengine/netstack: remove SubnetRouterWrapper 2 years ago
userspace_test.go all: use Go 1.22 range-over-int 2 years ago
watchdog.go wgengine{,/wgint}: add wgint.Peer wrapper type, add to wgengine.Engine 2 years ago
watchdog_js.go all: update copyright and license headers 3 years ago
watchdog_test.go all: update copyright and license headers 3 years ago
wgengine.go wgengine{,/wgint}: add wgint.Peer wrapper type, add to wgengine.Engine 2 years ago