Package

io.atlassian.event

stream

Permalink

package stream

Visibility
  1. Public
  2. All

Type Members

  1. case class Event[KK, S, E](id: EventId[KK, S], time: DateTime, operation: E) extends Product with Serializable

    Permalink

    Event wraps the event payload with common information (event id and time of the event)

  2. case class EventId[KK, S](key: KK, seq: S) extends Product with Serializable

    Permalink

    A event is identified by the key and an incrementing sequence 'number'

    A event is identified by the key and an incrementing sequence 'number'

    key

    The key

  3. trait EventStorage[F[_], K, S, E] extends AnyRef

    Permalink

    A source of events.

    A source of events. Implementations wrap around an underlying data store (e.g. in-memory map or DynamoDB).

    F

    Container around operations on an underlying data store e.g. Task.

  4. sealed trait EventStreamError extends AnyRef

    Permalink

    EventStreamError represents any error conditions that are useful to represent for event sources.

    EventStreamError represents any error conditions that are useful to represent for event sources. In particular, we need to know about attempts to store duplicate events.

  5. case class LatestSnapshotResult[S, V](latest: Snapshot[S, V], previousPersisted: Snapshot[S, V]) extends Product with Serializable

    Permalink
  6. case class Operation[S, E](apply: (Option[S]) ⇒ Result[E]) extends Product with Serializable

    Permalink

    Wraps an operation to save an event to an event stream.

    Wraps an operation to save an event to an event stream. Saving to an event stream is through an API, which is tied to an aggregate type.

    apply

    Function from a sequence to an operation that should occur (i.e. should we save the event or reject it)

  7. case class QueryAPI[F[_], KK, E, K, S, V](toStreamKey: (K) ⇒ KK, eventStore: EventStorage[F, KK, S, E], snapshotStore: SnapshotStorage[F, K, S, V], acc: (K) ⇒ (Snapshot[S, V], Event[KK, S, E]) ⇒ Snapshot[S, V]) extends Product with Serializable

    Permalink
  8. sealed trait QueryConsistency extends AnyRef

    Permalink
  9. case class SaveAPI[F[_], KK, E, K, S](toStreamKey: (K) ⇒ KK, store: EventStorage[F, KK, S, E])(implicit evidence$3: LiftIO[F]) extends Product with Serializable

    Permalink
  10. case class SaveAPIConfig[F[_]](retry: RetryStrategy[F]) extends Product with Serializable

    Permalink
  11. sealed trait SaveResult[S] extends AnyRef

    Permalink

    Result of saving an event to the stream.

  12. sealed trait Snapshot[S, V] extends AnyRef

    Permalink

    A Snapshot wraps an optional value, and tags it with an event Id.

    A Snapshot wraps an optional value, and tags it with an event Id. We can say a 'snapshot' S of key K at event S.at is value S.value. The value is somehow generated from the event stream (see API.acc)

    The event Id is quite a useful thing in addition to the value of the snapshot.

    V

    The type of the value wrapped by the Snapshot

  13. trait SnapshotStorage[F[_], K, S, V] extends AnyRef

    Permalink

    Implementations of this interface deal with persisting snapshots so that they don't need to be recomputed every time.

    Implementations of this interface deal with persisting snapshots so that they don't need to be recomputed every time. Specifically, implementations do NOT deal with generating snapshots, only storing/retrieving any persisted snapshot.

    F

    Container around operations on an underlying data store e.g. Task.

    K

    The type of the key for snapshots. This does not need to be the same as for the event stream itself.

    V

    The type of the value wrapped by Snapshots that this store persists.

  14. sealed trait SnapshotStoreMode extends AnyRef

    Permalink

Value Members

  1. object Event extends Serializable

    Permalink
  2. object EventId extends Serializable

    Permalink
  3. object EventStreamError

    Permalink
  4. object Operation extends Serializable

    Permalink
  5. object QueryConsistency

    Permalink
  6. object SaveAPIConfig extends Serializable

    Permalink
  7. object SaveResult

    Permalink
  8. object Snapshot

    Permalink
  9. object SnapshotStorage

    Permalink

    Dummy implementation that does not store snapshots.

  10. object SnapshotStoreMode

    Permalink
  11. package memory

    Permalink

Ungrouped