Class

pt.tecnico.dsi.akkastrator.AbstractOrchestrator

TaskProxy

Related Doc: package AbstractOrchestrator

Permalink

abstract class TaskProxy extends AbstractTask[TaskProxy]

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

Instance Constructors

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

    Permalink

Type Members

  1. final type ID = T.ID

    Permalink
    Definition Classes
    TaskProxy → 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: ID): (CorrelationId, DeliveryId)

    Permalink
    Attributes
    protected[pt.tecnico.dsi.akkastrator]
    Definition Classes
    TaskProxy → 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): ID

    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
    TaskProxy → AbstractTask
  10. val dependencies: Set[TaskProxy]

    Permalink
  11. val description: String

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

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

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

    Permalink

    returns

    the current expected deliveryId of this Task.

    Definition Classes
    AbstractTask
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. 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
  17. final def getClass(): Class[_]

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

    Permalink

    returns

    whether this task status is Finished.

    Definition Classes
    AbstractTask
  19. def hashCode(): Int

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

    Permalink
    Definition Classes
    TaskProxy → AbstractTask
  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. final def isWaiting: Boolean

    Permalink

    returns

    whether this task status is Waiting.

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

    Permalink

    Low-level match.

    Low-level match. It will behave differently according to the orchestrator in which this task is being created. The parameter id is a Long and not a ID so this method can be invoked in the TaskProxy.

    Definition Classes
    TaskProxy → AbstractTask
  24. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  27. 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
  28. final def status: Status

    Permalink

    returns

    the current status of this Task.

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

    Permalink
    Definition Classes
    AnyRef
  30. val tTask: T

    Permalink
  31. 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
  32. def toString(): String

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

    Permalink

    The TaskStatus representation of this task.

    The TaskStatus representation of this task.

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

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

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

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

    Permalink
    Definition Classes
    AbstractTask

Inherited from AbstractTask[TaskProxy]

Inherited from AnyRef

Inherited from Any

Ungrouped