tailscale/control/controlclient
Brad Fitzpatrick a79b1d23b8 control/controlclient: convert PeersChanged nodes to patches internally
So even if the server doesn't support sending patches (neither the
Tailscale control server nor Headscale yet do), this makes the client
convert a changed node to its diff so the diffs can be processed
individually in a follow-up change.

This lets us make progress on #1909 without adding a dependency on
finishing the server-side part, and also means other control servers
will get the same upcoming optimizations.

And add some clientmetrics while here.

Updates #1909

Change-Id: I9533bcb8bba5227e17389f0b10dff71f33ee54ec
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-08-28 15:03:12 -07:00
..
auto.go control/controlclient: move lastUpdateGenInformed to tighter scope 2023-08-13 10:39:17 -07:00
client.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
controlclient_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
direct_test.go control/controlclient: add Auto.updateRoutine 2023-08-10 12:23:08 -07:00
direct.go types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 2023-08-21 13:34:49 -07:00
map_test.go control/controlclient: convert PeersChanged nodes to patches internally 2023-08-28 15:03:12 -07:00
map.go control/controlclient: convert PeersChanged nodes to patches internally 2023-08-28 15:03:12 -07:00
noise_test.go control/controlclient: use dnscache.Resolver for Noise client 2023-05-01 13:22:10 -07:00
noise.go control: use tstime instead of time (#8595) 2023-08-04 19:29:44 -04:00
sign_supported_test.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
sign_supported.go control: use tstime instead of time (#8595) 2023-08-04 19:29:44 -04:00
sign_unsupported.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
sign.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
status.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00