object StatelessMessages
All state is saved in "message logs" or "channels" between the actors involved. When a new message is sent with the same indexes, the message is considered to update the value of any previous messages. This behaviour allows us to create "mutable" databases from the persistent message logs, which in turn offer reliability and scalability.
- Alphabetic
- By Inheritance
- StatelessMessages
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
sealed
trait
AnyMsg extends AnyRef
Superclass of all messages sent for a StatelessExecutor.
-
case class
Assignment(pii: PiInstance[ObjectId], callRef: CallRef, process: String, args: Seq[PiResource]) extends AnyMsg with HasPii with Product with Serializable
Emitted by the Reducer to the AtomicProcess executors, assigns responsibility for executing an AtomicProcess to an AtomicProcessExecutor.
Emitted by the Reducer to the AtomicProcess executors, assigns responsibility for executing an AtomicProcess to an AtomicProcessExecutor. Uniquely identified by the (PiiId, CallRef) pair.
- pii
The PiInstance state when the Assignment was created.
- callRef
The ID of this call in the PiInstance.
- process
The name of the AtomicProcess to call.
- args
The value of each of the arguments to the AtomicProcess.
-
type
CallResult = (CallRef, PiObject)
A tuple identifying a result for a specific AtomicProcess execution.
-
trait
HasPii extends AnyMsg
AnyMsg
which has a full PiInstance rather than just a pii id. -
sealed
trait
PiiHistory extends AnyMsg
Superclass of all messages sent to the PiiHistory topic.
-
case class
PiiLog(event: PiEvent[ObjectId]) extends AnyMsg with Product with Serializable
An output message sent to the Results topic.
An output message sent to the Results topic. Has no impact on PiInstance execution, but it used by
ResultListeners
to implement thePiObservable
interface.- event
The
PiEvent
being logged.
-
case class
PiiUpdate(pii: PiInstance[ObjectId]) extends PiiHistory with HasPii with Product with Serializable
Emitted by the Reducer component to log the latest PiInstance state to the PiHistory.
Emitted by the Reducer component to log the latest PiInstance state to the PiHistory. Consumed by the Sequencer component to construct up-to-date ReduceRequests.
- pii
The latest state of the PiInstance.
-
case class
ReduceRequest(pii: PiInstance[ObjectId], args: Seq[CallResult]) extends AnyMsg with HasPii with Product with Serializable
Contains the necessary information for reducing a PiInstance.
Contains the necessary information for reducing a PiInstance.
- pii
The latest PiInstance to reduce and post-results into.
- args
A collection of result objects for open threads that need to be posted.
-
case class
SequenceFailure(pii: Either[ObjectId, PiInstance[ObjectId]], returns: Seq[CallResult], errors: Seq[PiFailure[ObjectId]]) extends PiiHistory with Product with Serializable
A PiiHistory message which helps collect outstanding SequenceRequests after a failure.
A PiiHistory message which helps collect outstanding SequenceRequests after a failure.
- pii
Identifying information for the PiInstance. Just an ObjectId if the state hasn't been seen, or the latest PiInstance.
- returns
All the known results for the returned calls, the PiObjects may be null in the event of a failure.
- errors
All the known exceptions encountered during the execution of this PiInstance.
-
case class
SequenceRequest(piiId: ObjectId, request: CallResult) extends PiiHistory with Product with Serializable
Emitted by a AtomicProcess executors to sequence their results into a common timeline.
Emitted by a AtomicProcess executors to sequence their results into a common timeline. Consumed by Sequencers to produce ReduceRequests.
- piiId
ID of the PiInstance being executed, PiInstance state needs to be fetched from the PiiHistory topic.
- request
The result of the AtomicProcess call, containing the unique id and a PiObject representing the result.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- object SequenceFailure extends Serializable