tailscale/types
Brad Fitzpatrick 9538e9f970 ipn/ipnlocal: keep internal map updated of latest Nodes post mutations
We have some flaky integration tests elsewhere that have no one place
to ask about the state of the world. This makes LocalBackend be that
place (as it's basically there anyway) but doesn't yet add the ForTest
accessor method.

This adds a LocalBackend.peers map[NodeID]NodeView that is
incrementally updated as mutations arrive. And then we start moving
away from using NetMap.Peers at runtime (UpdateStatus no longer uses
it now). And remove another copy of NodeView in the LocalBackend
nodeByAddr map. Change that to point into b.peers instead.

Future changes will then start streaming whole-node-granularity peer
change updates to WatchIPNBus clients, tracking statefully per client
what each has seen. This will get the GUI clients from receiving less
of a JSON storm of updates all the time.

Updates #1909

Change-Id: I14a976ca9f493bdf02ba7e6e05217363dcf422e5
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-09-17 19:35:17 +01:00
..
dnstype tailcfg: add DNS address list for IsWireGuardOnly nodes 2023-09-15 13:15:18 -07:00
empty all: update copyright and license headers 2023-01-27 15:36:29 -08:00
flagtype all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ipproto net/packet: add NAT support for DCCP and GRE 2023-04-24 15:30:50 -07:00
key ipn/ipnstate: address TODO about garbage during peer sorting 2023-09-09 09:12:23 -07:00
lazy types/lazy: helpers for lazily computed values 2023-02-10 20:59:58 -08:00
logger types/logger: add TestLogger 2023-08-30 20:23:03 -07:00
logid all: implement AppendText alongside MarshalText (#9207) 2023-09-01 18:15:19 -07:00
netlogtype all: update copyright and license headers 2023-01-27 15:36:29 -08:00
netmap ipn/ipnlocal: keep internal map updated of latest Nodes post mutations 2023-09-17 19:35:17 +01:00
nettype wgengine/magicsock, types/nettype, etc: finish ReadFromUDPAddrPort netip migration 2023-04-15 13:40:15 -07:00
opt types/opt: use switch in Bool.UnmarshalJSON (#9140) 2023-08-29 13:12:49 -07:00
persist types/persist: drop duplicated Persist.LoginName 2023-08-08 13:43:37 -06:00
preftype all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ptr all: update copyright and license headers 2023-01-27 15:36:29 -08:00
structs all: update copyright and license headers 2023-01-27 15:36:29 -08:00
tkatype types/tkatype: add test for MarshaledSignature's JSON format 2023-08-19 19:34:18 -07:00
views types/views: add SliceEqual, like std slices.Equal 2023-08-27 18:54:03 -07:00