Versions in this module Expand all Collapse all v0 v0.2.0 Oct 14, 2026 Changes in this version + type Gate interface + Shared func(ctx context.Context) (release func(), err error) type Option + func Gated(g Gate) Option v0.1.0 Oct 13, 2026 Changes in this version + const DefaultAckWait + const DefaultDuplicates + const DefaultRelayPoll + const DefaultRelayTimeout + func Attempt(ctx context.Context) int + func CheckName(s string) error + func CheckType(t string) error + func Encode(e event.Event) (event.Header, []byte, error) + func WithAttempt(ctx context.Context, attempt int) context.Context + type Broker interface + Subscribe func(sub Subscription, report Report) (reactor.Source[event.Event], error) + type Claim = func(ctx context.Context, tx *sqlate.Tx) (first bool, err error) + type Config struct + RelayPoll libconfig.Duration + RelayTimeout libconfig.Duration + Source string + func (c *Config) Finalize(envPrefix string) error + func (c *Config) Merge(src *Config) + func (c Config) Validate() error + type Failure struct + Attempt int + Consumer string + Err error + EventID string + EventSource string + EventType string + Kind FailureKind + type FailureKind string + const FailureExhausted + const FailureQuarantine + const FailureRelay + const FailureSource + type Hook func(ctx context.Context, f Failure) + type Option func(*Runtime) + func OnFailure(h Hook) Option + type Publisher interface + Publish func(ctx context.Context, e event.Event) error + type Report func(ctx context.Context, err error) + type Runtime struct + Recorder *event.Recorder[*sqlate.Tx] + func New(cfg Config, broker Broker, outboxEngine outbox.Engine, ...) (*Runtime, error) + func (r *Runtime) Consume[T any](sub Subscription, fn func(ctx context.Context, data T, claim Claim) error) (*reactor.Reactor[event.Event], error) + func (r *Runtime) Relay(db sqlate.Beginner) *reactor.Reactor[event.Event] + type Start int + const StartAll + const StartNew + type Subscription struct + AckWait time.Duration + MaxDeliver int + Name string + RetryDelay time.Duration + Start Start + Types []string + func (sub Subscription) Matches(t string) bool + func (sub Subscription) Normalize() Subscription + func (sub Subscription) Validate() error