1
0
mirror of https://github.com/juanfont/headscale.git synced 2025-10-28 10:51:44 +01:00
juanfont.headscale/hscontrol/db
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
..
sqliteconfig db: add sqlite "source of truth" schema 2025-07-07 15:48:38 +01:00
testdata db: add sqlite "source of truth" schema 2025-07-07 15:48:38 +01:00
api_key_test.go Replace the timestamp based state system 2023-09-19 10:20:21 -05:00
api_key.go Replace database locks with transactions (#1701) 2024-02-08 17:28:19 +01:00
db_test.go mapper: produce map before poll (#2628) 2025-07-28 11:15:53 +02:00
db.go Fix typos 2025-07-21 12:06:07 +02:00
ephemeral_garbage_collector_test.go db: add sqlite "source of truth" schema 2025-07-07 15:48:38 +01:00
ip_test.go Redo route code (#2422) 2025-02-26 16:22:55 +01:00
ip.go db: add sqlite "source of truth" schema 2025-07-07 15:48:38 +01:00
node_test.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
node.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
policy.go reformat code (#2019) 2024-07-22 08:56:00 +02:00
preauth_keys_test.go mapper: produce map before poll (#2628) 2025-07-28 11:15:53 +02:00
preauth_keys.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00
schema.sql db: add sqlite "source of truth" schema 2025-07-07 15:48:38 +01:00
suite_test.go db: add sqlite "source of truth" schema 2025-07-07 15:48:38 +01:00
text_serialiser.go Refactor to use reflect.TypeFor 2025-08-23 20:43:49 +02:00
users_test.go mapper: produce map before poll (#2628) 2025-07-28 11:15:53 +02:00
users.go state/nodestore: in memory representation of nodes 2025-09-09 09:40:00 +02:00