Versions in this module Expand all Collapse all v0 v0.1.0 May 12, 2026 Changes in this version + const DefaultFlushTick + const DefaultMaxKeys + func FlushBatch[V any](ctx context.Context, cfg *Config, pipelineName string, items []FlushItem[V], ...) error + func MergeBatch[T any, V any](ctx context.Context, cfg *Config, coalesceCfg CoalesceConfig, ...) error + func MergeMany[V any](ctx context.Context, cfg *Config, pipelineName string, eventID string, ...) error + func MergeOne[T any, V any](ctx context.Context, cfg *Config, pipelineName string, eventID string, ...) error + type CoalesceConfig struct + Enabled bool + FlushTick time.Duration + MaxKeys int + func DefaultCoalesceConfig() CoalesceConfig + type CoalesceOption func(*CoalesceConfig) + func WithCoalesceFlushTick(d time.Duration) CoalesceOption + func WithCoalesceMaxKeys(n int) CoalesceOption + type Coalescer struct + func NewCoalescer[V any](cfg *Config, coalesceCfg CoalesceConfig, pipelineName string, ...) *Coalescer[V] + func (c *Coalescer[V]) AddMany(ctx context.Context, eventID string, eventTime time.Time, keys []string, ...) error + func (c *Coalescer[V]) Flush(ctx context.Context) error + func (c *Coalescer[V]) IsAdditive() bool + func (c *Coalescer[V]) PendingKeys() int + type Config struct + BackoffBase time.Duration + BackoffMax time.Duration + Dedup state.Deduper + MaxAttempts int + Recorder metrics.Recorder + func Defaults() Config + type FlushError struct + FailedKeys []KeyFailure + func (e *FlushError) Error() string + func (e *FlushError) Unwrap() error + type FlushItem struct + Delta V + EventTime time.Time + Key state.Key + type KeyFailure struct + ContributingIDs []string + Err error + Key state.Key