feat(cdclient): content-addressed copies of the client's cdclient.fdb

FdbSnapshot names copies cdclient-<hash>.fdb / CDServer-<hash>.sqlite, writes
them under temporary names and renames them in, keeps a pointer file naming
the current pair, removes old copies, and decides when a changed file has
settled enough to hash. Nothing in it logs, so it can run on a worker.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-29 22:42:40 -05:00
parent 2e7bea3be8
commit 1a8e4e387c
5 changed files with 552 additions and 0 deletions

View File

@@ -22,6 +22,7 @@ set(DCOMMON_SOURCES
"FdbToSqlite.cpp"
"FdbMappedFile.cpp"
"FdbReader.cpp"
"FdbSnapshot.cpp"
"JSONUtils.cpp"
"TinyXmlUtils.cpp"
"Sd0.cpp"