Trait/Object

com.github.trex_paxos.library

Journal

Related Docs: object Journal | package library

Permalink

trait Journal extends AnyRef

Durable store for the replicated log. Methods load and save must make durable the bookwork of the progress made by the given cluster node. The accept and accepted methods store value message at a given log index. An implementation could use a BTree else a local database.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Journal
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def accept(a: Accept*): Unit

    Permalink

    Synchronously save an accept message in its slot specified by the logIndex in the Identifier of the message.

    Synchronously save an accept message in its slot specified by the logIndex in the Identifier of the message. Callers *must* ensure that values with a low BallotNumber do not overwrite values with a higher number.

  2. abstract def accepted(logIndex: Long): Option[Accept]

    Permalink

    Load the accept message from the specified slot.

    Load the accept message from the specified slot.

    returns

    The accept message at the requested slot if any.

  3. abstract def bounds: JournalBounds

    Permalink

    The lowest and highest index currently available.

    The lowest and highest index currently available.

    returns

    The min and max index retrained within this journal which is subject to the retention policy of the implementation.

  4. abstract def load(): Progress

    Permalink

    Load progress bookwork.

    Load progress bookwork.

    returns

    The maximum promise and the highest commit identifier.

  5. abstract def save(progress: Progress): Unit

    Permalink

    Synchronously journal progress bookwork.

    Synchronously journal progress bookwork.

    progress

    The highest committed and highest promised of this cluster node.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped