Commit graph

1 commit

Author SHA1 Message Date
8802de4fb0
f-46: statefile: add a generic atomic state file #46
Persistance d'un état de composant dans un fichier, générique sur le type
stocké : temp + chmod 0600 + sync + rename, répertoire en 0700. Chaque écriture
remplace le fichier, donc un chmod externe est effacé, et un échec d'encodage ne
tronque pas l'état précédent.

Load crée le fichier absent et rend le zéro du type ; un fichier vide est un
point de départ valide, un fichier corrompu est une erreur.

Dans pkg/ plutôt que sous internal/dhcpd : une réutilisation par l'intel est
envisagée. Écarte Badger pour cet usage — une instance par subnet coûterait
~74 Mio et 4 goroutines pour ~1 Kio d'état dans un tmpfs, plus un LOCK résiduel
après un arrêt brutal.

11 tests, quatre mutations toutes détectées.

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-09-05 23:17:58 +02:00