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/control/controlclient
Brad Fitzpatrick 402fc9d65f control/controlclient: remove optimization that was more convoluted than useful
While working on #13390, I ran across this non-idiomatic
pointer-to-view and parallel-sorted-map accounting code that was all
just to avoid a sort later.

But the sort later when building a new netmap.NetworkMap is already a
drop in the bucket of CPU compared to how much work & allocs
mapSession.netmap and LocalBackend's spamming of the full netmap
(potentially tens of thousands of peers, MBs of JSON) out to IPNBus
clients for any tiny little change (node changing online status, etc).

Removing the parallel sorted slice let everything be simpler to reason
about, so this does that. The sort might take a bit more CPU time now
in theory, but in practice for any netmap size for which it'd matter,
the quadratic netmap IPN bus spam (which we need to fix soon) will
overshadow that little sort.

Updates #13390
Updates #1909

Change-Id: I3092d7c67dc10b2a0f141496fe0e7e98ccc07712
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
11 months ago
..
auto.go control/controlclient: delete unused Client.Login Oauth2Token field 2 years ago
client.go control/controlclient: delete unused Client.Login Oauth2Token field 2 years ago
controlclient_test.go all: use Go 1.22 range-over-int 2 years ago
direct.go all: add means to set device posture attributes from node 11 months ago
direct_test.go tka: test SigCredential signatures and netmap filtering 1 year ago
map.go control/controlclient: remove optimization that was more convoluted than useful 11 months ago
map_test.go control/controlclient: remove optimization that was more convoluted than useful 11 months ago
noise.go all: add means to set device posture attributes from node 11 months ago
noise_test.go control/controlhttp/controlhttpserver: split out Accept to its own package 1 year ago
sign.go all: update copyright and license headers 3 years ago
sign_supported.go control/controlclient: use the most recent syspolicy.MachineCertificateSubject value 1 year ago
sign_supported_test.go all: update copyright and license headers 3 years ago
sign_unsupported.go control/controlclient: support certstore without cgo 2 years ago
status.go all: implement AppendText alongside MarshalText (#9207) 2 years ago