commanded_extreme_adapter v0.3.0 Commanded.EventStore.Adapters.Extreme

Adapter to use Greg Young’s Event Store, via the Extreme TCP client, with Commanded.

Link to this section Summary

Functions

Acknowledge receipt and successful processing of the given event received from a subscription to an event stream

Append one or more events to a stream atomically

Delete a previously recorded snapshop for a given source

Read a snapshot, if available, for a given source

Record a snapshot of the data and metadata for a given source

Streams events from the given stream, in the order in which they were originally written

Create a persistent subscription to all event streams

Unsubscribe an existing subscriber from all event notifications

Link to this section Functions

Link to this function ack_event(subscription, recorded_event)
ack_event(pid, Commanded.EventStore.RecordedEvent.t) :: any

Acknowledge receipt and successful processing of the given event received from a subscription to an event stream.

Callback implementation for Commanded.EventStore.ack_event/2.

Link to this function append_to_stream(stream_uuid, expected_version, events)
append_to_stream(String.t, non_neg_integer, [Commanded.EventStore.EventData.t]) ::
  {:ok, stream_version :: non_neg_integer} |
  {:error, reason :: term}

Append one or more events to a stream atomically.

Callback implementation for Commanded.EventStore.append_to_stream/3.

Link to this function delete_snapshot(source_uuid)
delete_snapshot(String.t) :: :ok | {:error, reason :: term}

Delete a previously recorded snapshop for a given source

Callback implementation for Commanded.EventStore.delete_snapshot/1.

Link to this function delete_stream(source_uuid)
Link to this function read_snapshot(source_uuid)
read_snapshot(String.t) ::
  {:ok, Commanded.EventStore.SnapshotData.t} |
  {:error, :snapshot_not_found}

Read a snapshot, if available, for a given source.

Callback implementation for Commanded.EventStore.read_snapshot/1.

Link to this function record_snapshot(snapshot)
record_snapshot(Commanded.EventStore.SnapshotData.t) ::
  :ok |
  {:error, reason :: term}

Record a snapshot of the data and metadata for a given source

Callback implementation for Commanded.EventStore.record_snapshot/1.

Link to this function stream_forward(stream_uuid, start_version \\ 0, read_batch_size \\ 1000)
stream_forward(String.t, non_neg_integer, non_neg_integer) ::
  Enumerable.t |
  {:error, reason :: term}

Streams events from the given stream, in the order in which they were originally written.

Callback implementation for Commanded.EventStore.stream_forward/3.

Link to this function subscribe_to_all_streams(subscription_name, subscriber, start_from \\ :origin)
subscribe_to_all_streams(String.t, pid, Commanded.EventStore.start_from) ::
  {:ok, subscription :: any} |
  {:error, :subscription_already_exists} |
  {:error, reason :: term}

Create a persistent subscription to all event streams.

The event store will remember the subscribers last acknowledged event. Restarting the named subscription will resume from the next event following the last seen.

The subscriber process will be sent all events persisted to any stream. It will receive a {:events, events} message for each batch of events persisted for a single aggregate.

The subscriber must ack each received, and successfully processed event, using Commanded.EventStore.ack_event/2.

Callback implementation for Commanded.EventStore.subscribe_to_all_streams/3.

Link to this function to_recorded_event(event)
Link to this function to_recorded_event(ev, event_number)
Link to this function unsubscribe_from_all_streams(subscription_name)
unsubscribe_from_all_streams(String.t) :: :ok

Unsubscribe an existing subscriber from all event notifications.

Callback implementation for Commanded.EventStore.unsubscribe_from_all_streams/1.