1
0
mirror of https://github.com/juanfont/headscale.git synced 2025-11-10 01:20:58 +01:00
Commit Graph

7 Commits

Author SHA1 Message Date
Kristoffer Dalby
a380ad8bd2
mapper: add generation metrics
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2025-11-05 15:38:42 +01:00
Kristoffer Dalby
d045eb237f
mapper: handle NodeEndpoint and NodeDERP changes
Add batcher cases for NodeEndpoint and NodeDERP that query
NodeStore for current state and send PeerChangedPatch with
both endpoints and DERP region, avoiding full map responses.

Update batcher_test to pass NodeView to change constructors.
2025-11-05 15:38:27 +01:00
Kristoffer Dalby
ed3a9c8d6d
mapper: send change instead of full update (#2775) 2025-09-17 14:23:21 +02:00
Kristoffer Dalby
233dffc186 lint and leftover
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2025-09-09 09:40:00 +02:00
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
Kristoffer Dalby
8e25f7f9dd
bunch of qol (#2748) 2025-08-27 17:09:13 +02:00
Kristoffer Dalby
a058bf3cd3
mapper: produce map before poll (#2628) 2025-07-28 11:15:53 +02:00