Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EventsStore ¶
type EventsStore interface {
// Connect connects to the journal store
Connect(ctx context.Context) error
// Disconnect disconnect the journal store
Disconnect(ctx context.Context) error
// WriteEvents persist event in batches for a given persistenceID.
// Note: persistence id and the sequence number make a record in the journal store unique. Failure to ensure that
// can lead to some un-wanted behaviors and data inconsistency
WriteEvents(ctx context.Context, events []*egopb.Event) error
// Ping verifies a connection to the database is still alive, establishing a connection if necessary.
Ping(ctx context.Context) error
// DeleteEvents deletes store from the store up to a given sequence number (inclusive)
DeleteEvents(ctx context.Context, persistenceID string, toSequenceNumber uint64) error
// ReplayEvents fetches store for a given persistence ID from a given sequence number(inclusive) to a given sequence number(inclusive) with a maximum of journals to be replayed.
ReplayEvents(ctx context.Context, persistenceID string, fromSequenceNumber, toSequenceNumber uint64, limit uint64) ([]*egopb.Event, error)
// GetLatestEvent fetches the latest event
GetLatestEvent(ctx context.Context, persistenceID string) (*egopb.Event, error)
// PersistenceIDs returns the distinct list of all the persistence ids in the journal store
PersistenceIDs(ctx context.Context, pageSize uint64, pageToken string) (persistenceIDs []string, nextPageToken string, err error)
// GetShardEvents returns the next (limit) events after the offset in the journal for a given shard
GetShardEvents(ctx context.Context, shardNumber uint64, offset int64, limit uint64) ([]*egopb.Event, int64, error)
// ShardNumbers returns the distinct list of all the shards in the journal store
ShardNumbers(ctx context.Context) ([]uint64, error)
}
EventsStore defines the API to write to the events store
type StateStore ¶
type StateStore interface {
// Connect connects to the journal store
Connect(ctx context.Context) error
// Disconnect disconnect the journal store
Disconnect(ctx context.Context) error
// Ping verifies a connection to the database is still alive, establishing a connection if necessary.
Ping(ctx context.Context) error
// WriteState persist durable state for a given persistenceID.
WriteState(ctx context.Context, state *egopb.DurableState) error
// GetLatestState fetches the latest durable state
GetLatestState(ctx context.Context, persistenceID string) (*egopb.DurableState, error)
}
StateStore defines the API to interact with the durable state store
Click to show internal directories.
Click to hide internal directories.