1
0
mirror of https://github.com/juanfont/headscale.git synced 2025-10-23 11:19:19 +02:00
juanfont.headscale/hscontrol/mapper
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
..
batcher_lockfree.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
batcher_test.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
batcher.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
builder_test.go bunch of qol (#2748) 2025-08-27 17:09:13 +02:00
builder.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
mapper_test.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
mapper.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
suite_test.go introduce mapper package 2023-06-08 16:34:15 +02:00
tail_test.go all: use immutable node view in read path 2025-07-07 21:28:59 +01:00
tail.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
utils.go mapper: produce map before poll (#2628) 2025-07-28 11:15:53 +02:00