Versions in this module Expand all Collapse all v1 v1.0.0 Aug 26, 2026 Changes in this version + var ErrConflict = errors.New("idempotencyqueue: delivery fingerprint conflict") + var ErrInProgress = errors.New("idempotencyqueue: delivery in progress") + var ErrTerminalFailure = errors.New("idempotencyqueue: delivery terminally failed") + func Wrap[M Message](middleware *Middleware, next func(context.Context, M) error) func(context.Context, M) error + type FingerprintFunc func(Message) (idempotency.Fingerprint, error) + type Handler func(context.Context, Message) error + type KeyFunc func(context.Context, Message) (idempotency.Key, error) + type Message interface + Payload func() []byte + type Middleware struct + func New(options Options) (*Middleware, error) + func (m *Middleware) Handle(ctx context.Context, message Message, handler Handler) error + type Options struct + Fingerprint FingerprintFunc + Key KeyFunc + Lease time.Duration + Service *idempotency.Service + TransitionTimeout time.Duration