Class

com.github.trex_paxos

TypedActorPaxosEndpoint

Related Doc: package trex_paxos

Permalink

class TypedActorPaxosEndpoint extends PaxosActor

Linear Supertypes
PaxosActor, PaxosActorNoTimeout, AkkaLoggingAdapter, PaxosLogging, ActorLogging, PaxosIO, Actor, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TypedActorPaxosEndpoint
  2. PaxosActor
  3. PaxosActorNoTimeout
  4. AkkaLoggingAdapter
  5. PaxosLogging
  6. ActorLogging
  7. PaxosIO
  8. Actor
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TypedActorPaxosEndpoint(config: PaxosProperties, selfNode: Node, membershipStore: TrexMembership, journal: Journal, target: AnyRef)

    Permalink

Type Members

  1. type Epoch = Option[BallotNumber]

    Permalink
    Definition Classes
    PaxosActorNoTimeout
  2. type PrepareSelfVotes = SortedMap[Identifier, Option[Map[Int, PrepareResponse]]]

    Permalink
    Definition Classes
    PaxosActorNoTimeout
  3. type Receive = PartialFunction[Any, Unit]

    Permalink
    Definition Classes
    Actor

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. val actorRefWeakMap: WeakHashMap[String, ActorRef]

    Permalink
    Attributes
    protected
    Definition Classes
    PaxosActorNoTimeout
  5. def aroundPostRestart(reason: Throwable): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  6. def aroundPostStop(): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  7. def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  8. def aroundPreStart(): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  9. def aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  10. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  11. def broadcast(msg: PaxosMessage): Unit

    Permalink
  12. def clock(): Long

    Permalink
    Definition Classes
    PaxosActorNoTimeout → PaxosIO
  13. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. def clusterSize: Int

    Permalink
  15. var committedMembership: CommittedMembership

    Permalink
  16. implicit val context: ActorContext

    Permalink
    Definition Classes
    Actor
  17. def debug(msg: String, one: Any, two: Any, three: Any, four: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  18. def debug(msg: String, one: Any, two: Any, three: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  19. def debug(msg: String, one: Any, two: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  20. def debug(msg: String, one: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  21. def debug(msg: String): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  22. def deliver(payload: Payload): Any

    Permalink

    The deliver method is called when a command is committed after having been selected by consensus.

    The deliver method is called when a command is committed after having been selected by consensus.

    payload

    The selected value and a delivery id that can be used to deduplicate deliveries during crash recovery.

    returns

    The response to the value command that has been delivered. May be an empty array.

    Definition Classes
    PaxosActorNoTimeout → PaxosIO
  23. val deliverClient: PartialFunction[Payload, AnyRef]

    Permalink

    The host application finite state machine invocation.

    The host application finite state machine invocation. This method is abstract as the implementation is specific to the host application.

    Definition Classes
    TypedActorPaxosEndpointPaxosActorNoTimeout
  24. val deliverMembership: PartialFunction[Payload, AnyRef]

    Permalink

    The cluster membership finite state machine.

    The cluster membership finite state machine. The new membership has been chosen but will come into effect only for the next message for which we generate an accept message.

    Definition Classes
    TypedActorPaxosEndpointPaxosActorNoTimeout
  25. def deserialize(bytes: Array[Byte]): MethodCall

    Permalink
  26. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  28. def error(msg: String, one: Any, two: Any, three: Any, four: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  29. def error(msg: String, one: Any, two: Any, three: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  30. def error(msg: String, one: Any, two: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  31. def error(msg: String, one: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  32. def error(msg: String): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  33. val filteredDeliverClient: PartialFunction[Payload, Any]

    Permalink

    The consensus algorithm my commit noop values which are filtered out rather than being passed to the client code.

    The consensus algorithm my commit noop values which are filtered out rather than being passed to the client code.

    Definition Classes
    PaxosActorNoTimeout
  34. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  35. def freshTimeout(interval: Long): Long

    Permalink

    Returns the next timeout put using a testable clock.

    Returns the next timeout put using a testable clock.

    Definition Classes
    PaxosActorPaxosActorNoTimeout
  36. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  38. def heartbeatInterval: Long

    Permalink
    Definition Classes
    PaxosActor
  39. def highestAcceptedIndex: Long

    Permalink
    Definition Classes
    PaxosActorNoTimeout
  40. def info(msg: String, one: Any, two: Any, three: Any, four: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  41. def info(msg: String, one: Any, two: Any, three: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  42. def info(msg: String, one: Any, two: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  43. def info(msg: String, one: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  44. def info(msg: String): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  45. def isDebugEnabled: Boolean

    Permalink
    Definition Classes
    PaxosLogging
  46. def isErrorEnabled: Boolean

    Permalink
    Definition Classes
    PaxosLogging
  47. def isInfoEnabled: Boolean

    Permalink
    Definition Classes
    PaxosLogging
  48. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  49. def isWarningEnabled: Boolean

    Permalink
    Definition Classes
    PaxosLogging
  50. val journal: Journal

    Permalink

    The durable journal required to store the state of the node in a stable manner between crashes.

    The durable journal required to store the state of the node in a stable manner between crashes.

    Definition Classes
    PaxosActorNoTimeout → PaxosIO
  51. val leaderHeartbeat: Cancellable

    Permalink
    Definition Classes
    PaxosActor
  52. val listenerRef: ActorRef

    Permalink
  53. def log: LoggingAdapter

    Permalink
    Definition Classes
    ActorLogging
  54. val logger: PaxosActorNoTimeout

    Permalink
    Definition Classes
    PaxosActorNoTimeout → PaxosIO
  55. val minPrepare: Prepare

    Permalink
    Definition Classes
    PaxosActorNoTimeout
  56. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  57. val nodeUniqueId: Int

    Permalink

    The unique identifier of this node.

    The unique identifier of this node. This *must* be unique in the cluster which is required as of the Paxos algorithm to work properly and be safe.

    Definition Classes
    PaxosActorNoTimeout
  58. def notNoneMembership: CommittedMembership

    Permalink
  59. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  61. var others: Map[Int, ActorRef]

    Permalink
  62. var paxosAgent: PaxosAgent

    Permalink
    Definition Classes
    PaxosActorNoTimeout
  63. def postRestart(reason: Throwable): Unit

    Permalink
    Definition Classes
    PaxosActor → Actor
  64. def postStop(): Unit

    Permalink
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  65. def preRestart(reason: Throwable, message: Option[Any]): Unit

    Permalink
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  66. def preStart(): Unit

    Permalink
    Definition Classes
    PaxosActor → Actor
  67. def randomInterval: Long

    Permalink
    Definition Classes
    PaxosActorNoTimeout
  68. def randomTimeout: Long

    Permalink
    Definition Classes
    PaxosActorNoTimeout → PaxosIO
  69. def receive: Receive

    Permalink
    Definition Classes
    PaxosActorNoTimeout → Actor
  70. def respond(pathAsString: String, data: Any): Unit

    Permalink
    Definition Classes
    PaxosActorNoTimeout → PaxosIO
  71. def route(msg: Any): Option[Int]

    Permalink
  72. implicit final val self: ActorRef

    Permalink
    Definition Classes
    Actor
  73. def send(sender: ActorRef, msg: Any): Unit

    Permalink

    If you require transactions in the host application then you need to supply a custom Journal which participates in your transactions.

    If you require transactions in the host application then you need to supply a custom Journal which participates in your transactions. You also need to override this method to buffer the messages then either send them post commit else delete them post rollback. Paxos is safe to lost messages so it is safe to crash after committing the journal before having sent out the messages. Paxos is *not* safe to "forgotten outcomes" so it is never safe to send messages when you rolled back your custom Journal.

    Definition Classes
    TypedActorPaxosEndpointPaxosActorNoTimeout
  74. def send(msg: PaxosMessage): Unit

    Permalink
    Definition Classes
    PaxosActorNoTimeout → PaxosIO
  75. def sendNoLongerLeader(clientCommands: Map[Identifier, (CommandValue, String)]): Unit

    Permalink

    Notifies clients that it is no longer the leader by sending them an exception.

    Notifies clients that it is no longer the leader by sending them an exception.

    Definition Classes
    PaxosActorNoTimeout → PaxosIO
  76. final def sender(): ActorRef

    Permalink
    Definition Classes
    Actor
  77. def senderId(): String

    Permalink
    Definition Classes
    PaxosActorNoTimeout → PaxosIO
  78. def senders(members: Seq[Member]): Map[Int, ActorRef]

    Permalink
  79. var sent: Seq[PaxosMessage]

    Permalink
    Definition Classes
    PaxosActorNoTimeout
  80. val serialization: Serialization

    Permalink
  81. val serializer: Serializer

    Permalink
  82. def supervisorStrategy: SupervisorStrategy

    Permalink
    Definition Classes
    Actor
  83. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  85. def trace(event: PaxosEvent, sender: String, sent: Seq[PaxosMessage]): Unit

    Permalink
    Definition Classes
    PaxosActorNoTimeout
  86. def transmit(sender: ActorRef): Unit

    Permalink
    Definition Classes
    PaxosActorNoTimeout
  87. def unhandled(message: Any): Unit

    Permalink
    Definition Classes
    Actor
  88. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  91. def warning(msg: String, one: Any, two: Any, three: Any, four: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  92. def warning(msg: String, one: Any, two: Any, three: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  93. def warning(msg: String, one: Any, two: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  94. def warning(msg: String, one: Any): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging
  95. def warning(msg: String): Unit

    Permalink
    Definition Classes
    AkkaLoggingAdapter → PaxosLogging

Inherited from PaxosActor

Inherited from PaxosActorNoTimeout

Inherited from AkkaLoggingAdapter

Inherited from PaxosLogging

Inherited from ActorLogging

Inherited from PaxosIO

Inherited from Actor

Inherited from AnyRef

Inherited from Any

Ungrouped