Documentation
¶
Overview ¶
Package sqlite implements core.Store on caller-owned, driver-neutral SQLite. Connections must enable foreign keys and a positive busy timeout; New verifies both without changing connection or journal settings.
Index ¶
- Variables
- type Codec
- type FailureClass
- type FailureClassifier
- type Store
- func (s *Store[T]) ActivateDestination(ctx context.Context, plan core.PlanID, destination core.DestinationID) error
- func (s *Store[T]) Admit(ctx context.Context, plan core.Plan, items []core.Item[T]) error
- func (s *Store[T]) Claim(ctx context.Context, request core.ClaimRequest) ([]core.Work[T], error)
- func (s *Store[T]) PendingPlans(ctx context.Context) ([]core.PlanID, error)
- func (s *Store[T]) QuarantineDestination(ctx context.Context, plan core.PlanID, destination core.DestinationID, ...) error
- func (s *Store[T]) Resolve(ctx context.Context, resolution core.Resolution) error
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalidConfig marks invalid constructor arguments or connection settings. ErrInvalidConfig = errors.New("invalid sqlite store configuration") // ErrCodec marks payload encoding or decoding failures. ErrCodec = errors.New("sqlite store codec failure") // ErrSchema marks an incompatible private store schema. ErrSchema = errors.New("sqlite store schema incompatible") )
Functions ¶
This section is empty.
Types ¶
type Codec ¶
Codec converts payloads to deterministic bytes without retaining input or output buffers.
type FailureClass ¶
type FailureClass uint8
FailureClass classifies driver-specific infrastructure failures.
const ( // FailureClassUnknown is treated as unavailable. FailureClassUnknown FailureClass = iota // FailureClassBusy marks transient writer contention. FailureClassBusy FailureClassUnavailable )
type FailureClassifier ¶
type FailureClassifier func(error) FailureClass
FailureClassifier maps driver errors without adding a driver dependency.
type Store ¶
type Store[T any] struct { // contains filtered or unexported fields }
Store persists notification state in SQLite.
func New ¶
New constructs a Store and initializes its private schema. classifier maps driver-specific errors to FailureClass; omit it to treat every infrastructure failure as unavailable.
func NewContext ¶
func NewContext[T any]( ctx context.Context, db *sql.DB, codec Codec[T], classifier ...FailureClassifier, ) (*Store[T], error)
NewContext is New with caller-controlled initialization cancellation.
func (*Store[T]) ActivateDestination ¶
func (s *Store[T]) ActivateDestination( ctx context.Context, plan core.PlanID, destination core.DestinationID, ) error
ActivateDestination implements core.Store.
func (*Store[T]) PendingPlans ¶
PendingPlans implements core.Store.