[][src]Module eventually::store

Module containing support for the Event Store.

Event Store and eventually

An Event Store is an ordered, append-only log of many Domain Events related to one or more Aggregate instances.

The Domain Events committed to the Event Store can be streamed back into the application to load the latest value of an Aggregate state, by using the concept of Event Streams.

Since Domain Events in the Store are ordered both globally and on an Aggregate-instance basis, the Event Stream can either be global or related to a single Aggregate.

eventually adds support for the Event Store through the EventStore trait.

You rarely need to use the EventStore directly when writing your application, since eventually exposes multiple utilities that instrument the usage of the store for you. For example:

Modules

persistent

Contains a type-state builder for PersistentEvent type.

Structs

Persisted

An Event wrapper for events that have been successfully committed to the EventStore.

Enums

Expected

Specifies the optimistic locking level when performing append from an EventStore.

Select

Selection operation for the events to capture in an EventStream.

Traits

AppendError

Error type returned by append in EventStore implementations.

EventStore

An Event Store is an append-only, ordered list of Events for a certain "source" -- e.g. an Aggregate.

Type Definitions

EventStream

Stream type returned by the EventStore::stream method.