Class

pt.tecnico.dsi.akkastrator.DistinctIdsOrchestrator

Task

Related Doc: package DistinctIdsOrchestrator

Permalink

abstract class Task extends AbstractTask[Task]

Linear Supertypes
AbstractTask[Task], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Task
  2. AbstractTask
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Task(description: String, dependencies: Set[Task] = Set.empty)

    Permalink

Type Members

  1. final type ID = CorrelationId

    Permalink
    Definition Classes
    Task → AbstractTask

Abstract Value Members

  1. abstract def behavior: akka.actor.Actor.Receive

    Permalink

    The behavior of this task.

    The behavior of this task. This is akin to the receive method of an actor, except for the fact that an all catching pattern match will cause the orchestrator to fail. For example:

    def behavior = Receive {
      case m => //Some code
    }

    This will cause the orchestrator to fail because the messages won't be handled by the correct tasks.

    Definition Classes
    AbstractTask
  2. abstract def createMessage(id: ID): Any

    Permalink

    The constructor of the message to be sent.

    The constructor of the message to be sent.

    Definition Classes
    AbstractTask
  3. abstract val destination: ActorPath

    Permalink

    The ActorPath to whom this task will send the message(s).

    The ActorPath to whom this task will send the message(s).

    Definition Classes
    AbstractTask

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 ID2Ids(id: CorrelationId): (CorrelationId, DeliveryId)

    Permalink
    Attributes
    protected[pt.tecnico.dsi.akkastrator]
    Definition Classes
    Task → AbstractTask
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. final def canStart: Boolean

    Permalink

    returns

    whether this task status is Unstarted and all its dependencies have finished.

    Definition Classes
    AbstractTask
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final val color: String

    Permalink
    Definition Classes
    AbstractTask
  9. final def deliveryId2ID(deliveryId: DeliveryId): CorrelationId

    Permalink

    Converts the deliveryId obtained from the deliver method of akka-persistence to the ID this task handles.

    Converts the deliveryId obtained from the deliver method of akka-persistence to the ID this task handles.

    Attributes
    protected[pt.tecnico.dsi.akkastrator]
    Definition Classes
    Task → AbstractTask
  10. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def expectedDeliveryId: Option[DeliveryId]

    Permalink

    returns

    the current expected deliveryId of this Task.

    Definition Classes
    AbstractTask
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def finish(receivedMessage: Any, id: ID): Unit

    Permalink

    Finishes this task, which implies:

    Finishes this task, which implies:

    1. Tasks that depend on this one will be started. 2. Messages that would be handled by this task will no longer be handled.
    receivedMessage

    the message which prompted the finish.

    id

    the id obtained from the message.

    Definition Classes
    AbstractTask
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def hasFinished: Boolean

    Permalink

    returns

    whether this task status is Finished.

    Definition Classes
    AbstractTask
  17. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  18. final val index: Int

    Permalink
    Definition Classes
    Task → AbstractTask
  19. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  20. final def isWaiting: Boolean

    Permalink

    returns

    whether this task status is Waiting.

    Definition Classes
    AbstractTask
  21. final def matchId(id: Long): Boolean

    Permalink

    This method simply calls matchSenderAndId.

    This method simply calls matchSenderAndId.

    Definition Classes
    Task → AbstractTask
  22. final def matchSenderAndId(id: CorrelationId): Boolean

    Permalink

    id

    the correlationId obtained from the received message.

    returns

    true if · This task status is Waiting · The actor path of the sender is the same as destination. · The deliveryId resolved from the correlationId is the same as the expectedDeliveryId. false otherwise.

  23. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  26. final def start(): Unit

    Permalink

    Starts the execution of this task.

    Starts the execution of this task. If this task is already Waiting or Finished an exception will be thrown. We first persist that the message was sent (unless the orchestrator is recovering), then we send it.

    Attributes
    protected[pt.tecnico.dsi.akkastrator]
    Definition Classes
    AbstractTask
  27. final def status: Status

    Permalink

    returns

    the current status of this Task.

    Definition Classes
    AbstractTask
  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  29. final def terminateEarly(receivedMessage: Any, id: ID): Unit

    Permalink

    This will cause this task orchestrator to terminate early.

    This will cause this task orchestrator to terminate early.

    An early termination will have the following effects:

    • This task will be finished.
    • Every unstarted task will be prevented from starting even if its dependencies have finished.
    • Tasks that are waiting will remain untouched and the orchestrator will still be prepared to handle their responses.
    • The method onFinish will never be called even if the only tasks needed to finish the orchestrator are already waiting and their responses are received.
    • The method onEarlyTermination will be invoked in the orchestrator.
    Definition Classes
    AbstractTask
  30. def toString(): String

    Permalink
    Definition Classes
    AbstractTask → AnyRef → Any
  31. final def toTaskStatus: TaskStatus

    Permalink

    The TaskStatus representation of this task.

    The TaskStatus representation of this task.

    Definition Classes
    AbstractTask
  32. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. def withLoggingPrefix(message: ⇒ String): String

    Permalink
    Definition Classes
    AbstractTask

Inherited from AbstractTask[Task]

Inherited from AnyRef

Inherited from Any

Ungrouped