headscale/hscontrol/util
Kristoffer Dalby 9d236571f4 state/nodestore: in memory representation of nodes
Initial work on a nodestore which stores all of the nodes
and their relations in memory with relationship for peers
precalculated.

It is a copy-on-write structure, replacing the "snapshot"
when a change to the structure occurs. It is optimised for reads,
and while batches are not fast, they are grouped together
to do less of the expensive peer calculation if there are many
changes rapidly.

Writes will block until commited, while reads are never
blocked.

Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2025-09-09 09:40:00 +02:00
..
addr.go Experimental implementation of Policy v2 (#2214) 2025-03-10 16:20:29 +01:00
addr_test.go use cmp.Diff instead of reflect.DeepEqual 2023-07-01 21:55:47 +02:00
const.go Split code into modules 2023-05-26 12:24:50 +02:00
dns.go integration: replace time.Sleep with assert.EventuallyWithT (#2680) 2025-07-10 23:38:55 +02:00
dns_test.go mapper: produce map before poll (#2628) 2025-07-28 11:15:53 +02:00
file.go improve errors for missing directories (#1765) 2024-02-17 13:36:19 +01:00
key.go use tsaddr library and cleanups (#2150) 2024-10-02 09:06:09 +02:00
log.go integration: replace time.Sleep with assert.EventuallyWithT (#2680) 2025-07-10 23:38:55 +02:00
net.go integration: replace time.Sleep with assert.EventuallyWithT (#2680) 2025-07-10 23:38:55 +02:00
string.go Multi network integration tests (#2464) 2025-03-21 11:49:32 +01:00
string_test.go allow users to be defined with @ in v1 (#2495) 2025-03-30 11:19:05 +00:00
test.go fix route table migration wiping routes 0.22 -> 0.23 (#2076) 2024-08-27 18:54:28 +02:00
util.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
util_test.go Multi network integration tests (#2464) 2025-03-21 11:49:32 +01:00