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

class FileDao[S] extends StateDao[S]

A file-based StateDao implementation which writes a '.latestSnapshotIndex' file under the given directory to track what the last snapshot taken was

It then writes down snapshot-X files to contain the persisted snapshots

S

the snapshot type

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

Instance Constructors

  1. new FileDao(dataDir: Path, empty: ⇒ S, numberToKeep: Option[Int])(implicit arg0: FromBytes[S], arg1: ToBytes[S])

    dataDir

    the directory under which files will be written

    empty

    the default empty state

    numberToKeep

    if specified, snapshots older than this value will be removed at the point the new snapshots are written

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. 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

    Definition Classes
    FileDaoStateDao
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  21. 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

    Definition Classes
    FileDaoStateDao

Inherited from StateDao[S]

Inherited from AnyRef

Inherited from Any

Ungrouped