Documentation ¶
Index ¶
Constants ¶
View Source
const LoggerTag = "EVENT_STORE"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // EventTypes is a list of supported event types. Events of other types will // be ignored. EventTypes []string // Storage is the storage implementation. Storage Storage // Transport is a transport interface used to fetch events from Oracles. Transport transport.Service // Logger is a current logger interface used by the EventStore. // The Logger is required to monitor asynchronous processes. Logger log.Logger }
Config is the configuration for the EventStore.
type EventStore ¶
type EventStore struct {
// contains filtered or unexported fields
}
EventStore listens for event messages using the transport and stores them for later use.
func New ¶
func New(cfg Config) (*EventStore, error)
New returns a new instance of the EventStore struct.
func (*EventStore) Events ¶
Events returns events for the given type and index. The method is thread-safe.
func (*EventStore) Wait ¶
func (e *EventStore) Wait() <-chan error
Wait waits until the context is canceled or until an error occurs.
type MemoryStorage ¶ added in v0.6.0
type MemoryStorage struct {
// contains filtered or unexported fields
}
MemoryStorage provides storage mechanism for store.EventStore. It stores events in a local memory.
func NewMemoryStorage ¶ added in v0.6.0
func NewMemoryStorage(ttl time.Duration) *MemoryStorage
NewMemoryStorage returns a new instance of MemoryStorage. The ttl argument specifies how long messages should be kept in storage.
type Storage ¶
type Storage interface { // Add adds an event to the store. If the event already exists, it will be // updated if the MessageDate is newer. The first argument is true if the // event was added, false if it was replaced. The method is thread-safe. Add(ctx context.Context, author []byte, evt *messages.Event) (bool, error) // Get returns messages form the store for the given type and index. If the // message does not exist, nil will be returned. The method is thread-safe. Get(ctx context.Context, typ string, idx []byte) ([]*messages.Event, error) }
Storage provides an interface to the event storage.
Click to show internal directories.
Click to hide internal directories.