Package

io.kagera

execution

Permalink

package execution

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

Type Members

  1. class AsyncTransitionExecutor[State] extends TransitionExecutor[State, Transition]

    Permalink
  2. case class ExceptionState(failureCount: Int, failureReason: String, failureStrategy: ExceptionStrategy) extends Product with Serializable

    Permalink
  3. case class Instance[S](process: ExecutablePetriNet[S], sequenceNr: Long, marking: Marking, state: S, jobs: Map[Long, Job[S, _]]) extends Product with Serializable

    Permalink

    Keeps the state of a 'running' petri net instance.

  4. case class Job[S, E](id: Long, processState: S, transition: Transition[Any, E, S], consume: Marking, input: Any, failure: Option[ExceptionState] = None) extends Product with Serializable

    Permalink

    A Job describes all the parameters that make a firing transition in a petri net.

  5. trait TransitionExecutor[State, T[_, _, _]] extends AnyRef

    Permalink

Value Members

  1. object EventSourcing

    Permalink
  2. object Instance extends Serializable

    Permalink
  3. def allEnabledJobs[S]: State[Instance[S], Set[Job[S, _]]]

    Permalink

    Finds all automated enabled transitions.

  4. def applyJobs[S](executor: TransitionExecutor[S, Transition])(jobs: Set[Job[S, _]]): State[Instance[S], List[TransitionEvent]]

    Permalink
  5. def createJob[E, S](transition: Transition[Any, E, S], consume: Marking, input: Any): (Instance[S]) ⇒ (Instance[S], Job[S, E])

    Permalink

    Creates a job for a specific input & marking.

    Creates a job for a specific input & marking. Does not do any validation on the parameters

  6. def fireTransition[S, E](transition: Transition[Any, E, S], input: Any): State[Instance[S], Either[String, Job[S, E]]]

    Permalink

    Fires a specific transition with input, computes the marking it should consume

  7. def fireTransitionById[S](transitionId: Long, input: Any): State[Instance[S], Either[String, Job[S, Any]]]

    Permalink

    Creates a Job for a transition.

  8. def firstEnabledJob[S]: State[Instance[S], Option[Job[S, _]]]

    Permalink

    Finds the (optional) first transition that is automated & enabled

  9. def runJobAsync[S, E](executor: TransitionExecutor[S, Transition])(job: Job[S, E]): Task[TransitionEvent]

    Permalink

    Executes a job returning a Task[TransitionEvent]

Inherited from AnyRef

Inherited from Any

Ungrouped