Class

com.github.trex_paxos.library

Prepare

Related Doc: package library

Permalink

case class Prepare(id: Identifier) extends PaxosMessage with Product with Serializable

Prepare is only sent to either establish a leader else to probe for the uncommitted values of a previous leader during the leader take-over phase. Followers must:

1. Check the BallotNumber of the Identifier against the highest value previously acknowledged; if the request is lower acknowledged negatively acknowledge (“nack") it. 1. Check the logIndex of the Identifier against the highest committed logIndex; if the request is lower nack it. 1. If the BallotNumber of the Identifier is higher the then previously acknowledged the node must make the new number durable and promise to nack any messages with a lower BallotNumber The positive acknowledgement ("ack") must return the highest uncommitted Accept message with the same log index or None if there is no uncommitted value at that slot.

Linear Supertypes
Serializable, Serializable, Product, Equals, PaxosMessage, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Prepare
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. PaxosMessage
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Prepare(id: Identifier)

    Permalink

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 finalize(): Unit

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

    Permalink
    Definition Classes
    AnyRef → Any
  9. val id: Identifier

    Permalink
  10. final def isInstanceOf[T0]: Boolean

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  15. final def wait(): Unit

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

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

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

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from PaxosMessage

Inherited from AnyRef

Inherited from Any

Ungrouped