feat: sync multilayer td integration

This commit is contained in:
A 2026-07-15 13:32:06 +08:00
parent 20a310f6ca
commit 766c5db992
491 changed files with 26235 additions and 35340 deletions

View file

@ -10,9 +10,14 @@ import (
type UpdateStateStore interface {
Get(ctx context.Context, authKeyID [8]byte, userID int64) (domain.UpdateState, bool, error)
Save(ctx context.Context, authKeyID [8]byte, userID int64, state domain.UpdateState) error
// CommitDeliveredState atomically advances the cursor proven by one physically
// delivered response. Baseline mode advances confirmed and observed together;
// delivered-only mode must leave observed untouched.
CommitDeliveredState(ctx context.Context, authKeyID [8]byte, userID int64, state domain.UpdateState, mode domain.UpdateStateCommitMode) error
// ObserveClientState advances only the state that the client has proved it already owns by
// carrying it in a request (or by explicitly establishing a getState snapshot baseline).
// Durable-log retention must use this watermark, never a response state merely sent by server.
// carrying it in a request. An audited getState baseline advances the same watermark only via
// the atomic CommitDeliveredState baseline mode after physical delivery. Durable-log retention
// must use this watermark, never a response state merely sent by server.
ObserveClientState(ctx context.Context, authKeyID [8]byte, userID int64, state domain.UpdateState) error
Delete(ctx context.Context, authKeyID [8]byte, userID int64) error
DeleteAuthKey(ctx context.Context, authKeyID [8]byte) error