DecideFunction
A decide function, in the form its signature has. The kernel calls a Sync one directly, with no continuation and no dispatch; only a Suspending one runs as a coroutine call, and a Suspending.blocking one (@Blocking) on the kernel's blocking dispatcher, a virtual thread.
Inheritors
Types
Link copied to clipboard
class Suspending<S : Any>(val creation: Creation, val blocking: Boolean, val onDeleted: Boolean, val decide: suspend DecideScope.(S, Any) -> Decision, val produces: Set<Class<*>>? = null) : DecideFunction<S>
A suspending decide function; a blocking one blocks its thread, so the kernel runs it on a virtual thread.
Properties
Link copied to clipboard
The events it may produce, those its return type yields or its produces lists: the kernel fails a command whose decision holds another (UndeclaredEventException). Null when they are unknown, and then not checked.