class Event<T> : Iterable<MutableEntry<String, suspend (T) -> Unit>>
Simple class that can hold callbacks for events |
|
class Noop : Process<Any>
Noop process, useful when only routing is needed |
|
class NoopDeserializer : Deserializable<Unit> |
|
interface Process<in C>
Process interface |
|
data class ProcessChain<C>
Process chain, contains the name of the process, the router, the name of this step and the description of this step |
|
data class ProcessStartedEvent<C>
Event that is executed when a new process is started in a workflow |
|
interface Router<C>
Used to select the next step in a workflow |
|
class StaticRouter<C> : Router<C>
Router that always returns the same result |
|
class Workflow<C>
Workflow object |
|
class WorkflowBuilder<C>
Workflow builder, used to create a new workflow |
|
data class WorkflowEvent<C>
Generic workflow event |
suspend fun <T> io(start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> T): T
Run function on IO thread |
|
suspend fun <T> parallel(items: Iterable<T>, parallel: Int = 10, call: suspend (T) -> Unit): Unit
like .forEach but in parallel, amount of processes is determined by parallel |