Documentation
¶
Index ¶
- Variables
- type Backend
- func (b *Backend) Append(reqs ...timebox.AppendRequest) error
- func (b *Backend) Archive(id timebox.AggregateID) error
- func (b *Backend) Close() error
- func (b *Backend) ConsumeArchive(ctx context.Context, h timebox.ArchiveHandler) error
- func (b *Backend) GetAggregateStatus(id timebox.AggregateID) (string, error)
- func (b *Backend) ListAggregates(typ timebox.ID) ([]timebox.AggregateID, error)
- func (b *Backend) ListAggregatesByStatus(q timebox.StatusQuery) ([]timebox.StatusEntry, error)
- func (b *Backend) ListAggregatesByTag(tag string) ([]timebox.AggregateID, error)
- func (b *Backend) LoadEvents(req timebox.LoadEventsRequest) (*timebox.EventsResult, error)
- func (b *Backend) LoadSnapshot(req timebox.LoadSnapshotRequest) (*timebox.SnapshotRecord, error)
- func (b *Backend) NewStore(cfgs ...timebox.Config) (*timebox.Store, error)
- func (b *Backend) SaveSnapshot(req timebox.SnapshotRequest) error
- type Config
Constants ¶
This section is empty.
Variables ¶
var ( // ErrClosed indicates the in-memory Backend has been closed ErrClosed = errors.New("memory backend is closed") )
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend struct {
timebox.AlwaysReady
// contains filtered or unexported fields
}
Backend keeps store state in memory for semantic tests
func (*Backend) Append ¶
func (b *Backend) Append(reqs ...timebox.AppendRequest) error
Append appends every request's events if each expected sequence matches
func (*Backend) Archive ¶
func (b *Backend) Archive(id timebox.AggregateID) error
Archive archives an aggregate and removes it from active storage
func (*Backend) ConsumeArchive ¶
ConsumeArchive blocks until one archive record is available or ctx is done
func (*Backend) GetAggregateStatus ¶
func (b *Backend) GetAggregateStatus( id timebox.AggregateID, ) (string, error)
GetAggregateStatus gets the current status for an aggregate
func (*Backend) ListAggregates ¶
ListAggregates lists aggregate IDs of the given type, or of every type when it is empty
func (*Backend) ListAggregatesByStatus ¶
func (b *Backend) ListAggregatesByStatus( q timebox.StatusQuery, ) ([]timebox.StatusEntry, error)
ListAggregatesByStatus lists aggregates matching the query, ordered by status time
func (*Backend) ListAggregatesByTag ¶
func (b *Backend) ListAggregatesByTag( tag string, ) ([]timebox.AggregateID, error)
ListAggregatesByTag lists aggregates for a tag
func (*Backend) LoadEvents ¶
func (b *Backend) LoadEvents( req timebox.LoadEventsRequest, ) (*timebox.EventsResult, error)
LoadEvents loads events starting at fromSeq
func (*Backend) LoadSnapshot ¶
func (b *Backend) LoadSnapshot( req timebox.LoadSnapshotRequest, ) (*timebox.SnapshotRecord, error)
LoadSnapshot loads the snapshot and trailing events for an aggregate
func (*Backend) SaveSnapshot ¶
func (b *Backend) SaveSnapshot(req timebox.SnapshotRequest) error
SaveSnapshot saves a snapshot if the sequence is not older