Packages

  • package root
    Definition Classes
    root
  • package riff
    Definition Classes
    root
  • package monix
    Definition Classes
    riff
  • object EventSource

    Contains a function for applying a log type A to a state S, and persisting that state.

    Contains a function for applying a log type A to a state S, and persisting that state.

    For example, the log entries may be Strings and the State 'S' could be Set[String]. Or perhaps the log entries are a sealed trait of CRUD operations, and the State is the database.

    If the State itself is too big to fit in memory, then it could just be a cache over top a persistent storage.

    If you don't want to persist the state and just e.g. event source from the beginning of the log, then this all becomes a lot easier (just a one-liner, folding A over the state S).

    Definition Classes
    monix
  • FileDao
  • StateDao

trait StateDao[S] extends AnyRef

Represents the IO needed to persist and retrieve a snapshot

S

the snapshot type

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StateDao
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def latestSnapshot(): Try[(LogIndex, S)]

    means to get the latest snapshot index and state.

    means to get the latest snapshot index and state. If no snapshot is available, this function should return 0 and some empty value for S

    returns

    the most recently written snapshot index and snapshot

  2. abstract def writeDown(coords: LogCoords, s: S): Unit

    saves the snapshot together w/ the most recent log entry (coords) which were applied to it

    saves the snapshot together w/ the most recent log entry (coords) which were applied to it

    coords

    the most recent log coordinates which were applied to the state S

    s

    the snapshot type

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped