Fields - storeEvents :: forall a. GUID a -> Int -> [ByteString] -> IO ()
Store a sequence of events for aggregate identified by GUID
into the event store, starting at the provided version number.
If the version number does not match the expected value, a
failure occurs.
- retrieveEvents :: forall a. GUID a -> Int -> IO (Int, [ByteString])
Retrieve the sequence of events associated with the aggregate
identified by the given GUID. Only events at or after the given
version number are retrieved. The events are returned in
increasing order of version number. The version number of the
last event is returned as well.
- readAllEvents :: Int -> Int -> (ByteString -> IO ()) -> IO ()
Read events and pass them to the provided monadic action.
- writeSnapshot :: forall a. GUID a -> (Int, ByteString) -> IO ()
Write snapshot for aggregate identified by GUID and
the given version number. The version number is NOT checked
for validity. If the event store does not support snapshots
this function may do nothing.
- getLatestSnapshot :: forall a. GUID a -> IO (Maybe (Int, ByteString))
Get latest snapshot of an aggregate identified by GUID.
Returns the version number of the snapshot in addition to the
data. An event store which does not support snapshots is
permitted to return Nothing in all cases.
- withTransaction :: forall a. IO a -> IO a
Run transaction against the event store. The transaction is
expected to commit if the supplied IO action runs to completion
(i.e. doesn't throw an exception) and to rollback otherwise.
- closeEventStore :: IO ()
Close the event store.
|