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
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>
2 years ago
..
dnstype tailcfg: add DNS address list for IsWireGuardOnly nodes 2 years ago
empty all: update copyright and license headers 3 years ago
flagtype all: update copyright and license headers 3 years ago
ipproto net/packet: add NAT support for DCCP and GRE 3 years ago
key ipn/ipnstate: address TODO about garbage during peer sorting 2 years ago
lazy types/lazy: helpers for lazily computed values 3 years ago
logger types/logger: add TestLogger 2 years ago
logid all: implement AppendText alongside MarshalText (#9207) 2 years ago
netlogtype all: update copyright and license headers 3 years ago
netmap ipn/ipnlocal: keep internal map updated of latest Nodes post mutations 2 years ago
nettype wgengine/magicsock, types/nettype, etc: finish ReadFromUDPAddrPort netip migration 3 years ago
opt types/opt: use switch in Bool.UnmarshalJSON (#9140) 2 years ago
persist types/persist: drop duplicated Persist.LoginName 2 years ago
preftype all: update copyright and license headers 3 years ago
ptr all: update copyright and license headers 3 years ago
structs all: update copyright and license headers 3 years ago
tkatype types/tkatype: add test for MarshaledSignature's JSON format 2 years ago
views types/views: add SliceEqual, like std slices.Equal 2 years ago