Versions in this module Expand all Collapse all v0 v0.1.0 Mar 7, 2024 Changes in this version + type Client interface + CommitContext func(ctx context.Context, clientID string, topic message.Topic, idx int) error + ReadContext func(ctx context.Context, clientID string, topic message.Topic, limit int, ...) ([]message.Message, error) + WriteContext func(ctx context.Context, topic message.Topic, msgs ...[]byte) error + type Dispatcher struct + func NewDispatcher(store Store) *Dispatcher + func (d *Dispatcher) CommitContext(ctx context.Context, clientID string, topic message.Topic, idx int) error + func (d *Dispatcher) ReadContext(ctx context.Context, clientID string, topic message.Topic, limit int, ...) ([]message.Message, error) + func (d *Dispatcher) WriteContext(ctx context.Context, topic string, msgs ...[]byte) error + type Signal struct + func NewSignal() *Signal + func (s *Signal) Emit(topic string) + func (s *Signal) WaitContext(ctx context.Context, topic string, timeout time.Duration) bool + type Store interface + Append func(topic string, msgs ...[]byte) error + Commit func(clientID string, topic string, idx int) error + FetchNext func(clientID string, topic string, limit int) ([]message.Message, error) + func NewSqliteStore(dsn string) (Store, error)