Packages

o

com.workflowfm.pew.stateless

StatelessMessages

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.

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

Type Members

  1. sealed trait AnyMsg extends AnyRef

    Superclass of all messages sent for a StatelessExecutor.

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

  3. type CallResult = (CallRef, PiObject)

    A tuple identifying a result for a specific AtomicProcess execution.

  4. trait HasPii extends AnyMsg

    AnyMsg which has a full PiInstance rather than just a pii id.

  5. sealed trait PiiHistory extends AnyMsg

    Superclass of all messages sent to the PiiHistory topic.

  6. 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 the PiObservable interface.

    event

    The PiEvent being logged.

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

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

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

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

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

Inherited from AnyRef

Inherited from Any

Ungrouped