headscale/hscontrol/db
Kristoffer Dalby 387aa03adb Remove database from Mapper
This commit changes the internals of the mapper to
track all the changes to peers over its lifetime.

This means that it no longer depends on the database
and this should hopefully help with locks and timing issues.
When the mapper is created, it needs the current list of peers,
the world view, when the polling session was started. Then as
update changes are called, it tracks the changes and generates
responses based on its internal list.

As a side, the types.Machines and types.MachinesP, as well as
types.Machine being passed as a full struct and pointer has been
changed to always be pointers, everywhere.

Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-09-19 10:20:21 -05:00
..
addresses.go Split code into modules 2023-05-26 12:24:50 +02:00
addresses_test.go Replace the timestamp based state system 2023-09-19 10:20:21 -05:00
api_key.go introduce rw lock for db, ish... 2023-09-19 10:20:21 -05:00
api_key_test.go Replace the timestamp based state system 2023-09-19 10:20:21 -05:00
db.go Remove database from Mapper 2023-09-19 10:20:21 -05:00
machine.go Remove database from Mapper 2023-09-19 10:20:21 -05:00
machine_test.go Remove database from Mapper 2023-09-19 10:20:21 -05:00
preauth_keys.go introduce rw lock for db, ish... 2023-09-19 10:20:21 -05:00
preauth_keys_test.go Replace the timestamp based state system 2023-09-19 10:20:21 -05:00
routes.go Remove database from Mapper 2023-09-19 10:20:21 -05:00
routes_test.go Remove database from Mapper 2023-09-19 10:20:21 -05:00
suite_test.go Replace the timestamp based state system 2023-09-19 10:20:21 -05:00
users.go introduce rw lock for db, ish... 2023-09-19 10:20:21 -05:00
users_test.go introduce rw lock for db, ish... 2023-09-19 10:20:21 -05:00