Documentation
¶
Overview ¶
Package state provides processed-message deduplication for Expensor readers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateKey ¶
GenerateKey creates a unique key for a message using SHA256 hash.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager tracks processed messages to avoid reprocessing.
func NewDBManager ¶
func NewDBManager(processedStore ProcessedMessageStore, tenant store.Tenant, logger *slog.Logger) *Manager
NewDBManager creates a state manager backed by the runtime database.
func (*Manager) IsProcessed ¶
IsProcessed checks if a message has been processed.
type ProcessedMessageStore ¶
type ProcessedMessageStore interface {
IsMessageProcessed(ctx context.Context, tenant store.Tenant, key string) (bool, error)
MarkMessageProcessed(ctx context.Context, tenant store.Tenant, key string, at time.Time) error
}
ProcessedMessageStore is the DB persistence surface used by DB-backed state managers.
Click to show internal directories.
Click to hide internal directories.