class SingleStateExecutor extends ProcessExecutor[Int] with SimplePiObservable[Int]
Executes any PiProcess asynchronously. Only holds a single state, so can only execute one workflow at a time.
Running a second workflow after one has finished executing can be risky because promises/futures from the first workflow can trigger changes on the state!
- Alphabetic
- By Inheritance
- SingleStateExecutor
- SimplePiObservable
- PiPublisher
- PiObservable
- ProcessExecutor
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new SingleStateExecutor()(implicit executionContext: ExecutionContext = ExecutionContext.global)
Type Members
-
case class
Switch(name: String) extends PiSwitch with Product with Serializable
- Definition Classes
- SimplePiObservable
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from SingleStateExecutor to any2stringadd[SingleStateExecutor] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (SingleStateExecutor, B)
- Implicit
- This member is added by an implicit conversion from SingleStateExecutor to ArrowAssoc[SingleStateExecutor] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
call[H <: PiEventHandler[Int]](instance: PiInstance[_], factory: PiEventHandlerFactory[Int, H]): Future[H]
A
init ; startsequence that gives us a chance to subscribe a listener that is specific to this execution.A
init ; startsequence that gives us a chance to subscribe a listener that is specific to this execution. A new ID will be generated for the PiInstance to ensure freshness.- instance
The PiInstance to be executed
- factory
A PiEventHandlerFactory which generates PiEventHandler's for a given ID
- returns
A Future with the PiEventHandler that was generated
- Definition Classes
- ProcessExecutor
-
def
call[H <: PiEventHandler[Int]](process: PiProcess, args: Seq[Any], factory: PiEventHandlerFactory[Int, H]): Future[H]
A
init ; startsequence that gives us a chance to subscribe a listener that is specific to this execution.A
init ; startsequence that gives us a chance to subscribe a listener that is specific to this execution.- process
The (atomic or composite) PiProcess to be executed
- args
The (real) arguments to be passed to the process
- factory
A PiEventHandlerFactory which generates PiEventHandler's for a given ID
- returns
A Future with the PiEventHandler that was generated
- Definition Classes
- ProcessExecutor
-
def
call(instance: PiInstance[_]): Future[Int]
A simple
init ; startsequence when we do not need any even listeners.A simple
init ; startsequence when we do not need any even listeners. A new ID will be generated for the PiInstance to ensure freshness.- instance
The PiInstance to be executed
- returns
A Future with the ID corresponding to this execution
- Definition Classes
- ProcessExecutor
-
def
call(process: PiProcess, args: Seq[Any]): Future[Int]
A simple
init ; startsequence when we do not need any even listeners.A simple
init ; startsequence when we do not need any even listeners.- process
The (atomic or composite) PiProcess to be executed
- args
The (real) arguments to be passed to the process
- returns
A Future with the ID corresponding to this execution
- Definition Classes
- ProcessExecutor
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- var ctr: Int
-
def
ensuring(cond: (SingleStateExecutor) ⇒ Boolean, msg: ⇒ Any): SingleStateExecutor
- Implicit
- This member is added by an implicit conversion from SingleStateExecutor to Ensuring[SingleStateExecutor] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (SingleStateExecutor) ⇒ Boolean): SingleStateExecutor
- Implicit
- This member is added by an implicit conversion from SingleStateExecutor to Ensuring[SingleStateExecutor] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): SingleStateExecutor
- Implicit
- This member is added by an implicit conversion from SingleStateExecutor to Ensuring[SingleStateExecutor] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): SingleStateExecutor
- Implicit
- This member is added by an implicit conversion from SingleStateExecutor to Ensuring[SingleStateExecutor] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
execute(instance: PiInstance[_]): Future[Any]
Executes a PiInstance with a PromiseHandler A new ID will be generated for the PiInstance to ensure freshness.
Executes a PiInstance with a PromiseHandler A new ID will be generated for the PiInstance to ensure freshness.
- returns
A Future with the result of the executed process
- Definition Classes
- ProcessExecutor
-
def
execute(process: PiProcess, args: Seq[Any]): Future[Any]
Executes a process with a PromiseHandler
Executes a process with a PromiseHandler
- returns
A Future with the result of the executed process
- Definition Classes
- ProcessExecutor
-
implicit
val
executionContext: ExecutionContext
- Definition Classes
- SingleStateExecutor → SimplePiObservable → ProcessExecutor
- def failure(inst: PiInstance[Int]): Unit
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from SingleStateExecutor to StringFormat[SingleStateExecutor] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def handleThread(i: PiInstance[Int])(ref: Int, f: PiFuture): Boolean
-
val
handlers: Map[String, PiEventHandler[Int]]
- Attributes
- protected
- Definition Classes
- SimplePiObservable
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
init(instance: PiInstance[_]): Future[Int]
Initializes a PiInstance for a process execution.
Initializes a PiInstance for a process execution. A new ID will be generated for the PiInstance to ensure freshness. This is always and only invoked before a
start, hence why it is protected. This separation gives a chance to PiEventHandlers to subscribe before execution starts.- instance
The PiInstance to be executed
- returns
A Future with the new unique ID that was generated
- Attributes
- protected
- Definition Classes
- SingleStateExecutor → ProcessExecutor
-
def
init(process: PiProcess, args: Seq[PiObject]): Future[Int]
Initializes a PiProcess call for a process execution.
Initializes a PiProcess call for a process execution. This is always and only invoked before a
start, hence why it is protected. This separation gives a chance to PiEventHandlers to subscribe before execution starts.- process
The (atomic or composite) PiProcess to be executed
- args
The PiObject arguments to be passed to the process
- returns
A Future with the new unique ID that was generated
- Attributes
- protected
- Definition Classes
- ProcessExecutor
- var instance: Option[PiInstance[Int]]
-
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()
- def postResult(id: Int, ref: Int, res: PiObject): Unit
-
def
publish(evt: PiEvent[Int]): Unit
- Definition Classes
- SimplePiObservable → PiPublisher
- final def run: Unit
-
def
start(id: Int): Unit
Starts the execution of an initialized PiInstance.
Starts the execution of an initialized PiInstance. This is always and only invoked after an
init, hence why it is protected. This separation gives a chance to PiEventHandlers to subscribe before execution starts.- id
The ID of the instance to start executing
- Attributes
- protected
- Definition Classes
- SingleStateExecutor → ProcessExecutor
-
def
subscribe(handler: PiEventHandler[Int]): Future[PiSwitch]
Subscribes a com.workflowfm.pew.stream.PiEventHandler to observe.
Subscribes a com.workflowfm.pew.stream.PiEventHandler to observe.
- handler
the handler to subscribe
- returns
the com.workflowfm.pew.stream.PiSwitch that allows us to stop/unsubscribe the subscribed handler
- Definition Classes
- SimplePiObservable → PiObservable
- def success(id: Int, res: Any): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
unsubscribe(handlerName: String): Future[Boolean]
- Definition Classes
- SimplePiObservable
-
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()
-
def
→[B](y: B): (SingleStateExecutor, B)
- Implicit
- This member is added by an implicit conversion from SingleStateExecutor to ArrowAssoc[SingleStateExecutor] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc