Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
sealed interface CheckResult<out State, out NoNextStateReason>
Link copied to clipboard
Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
@RequiresOptIn(level = RequiresOptIn.Level.WARNING, message = "This is primitive internal automaton API. Use with caution.")
annotation class InternalAutomatonApi
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
sealed interface MovementResult<out State, out Transition, out NoNextStateReason>
Link copied to clipboard
Link copied to clipboard
data class TransitionAndComputation<out Transition, out Computation>(val transition: Transition, val computation: Computation)
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
inline fun <State, Transition, NoNextStateReason> AsynchronousAutomaton(mutex: Mutex = Mutex(), initialState: State, crossinline checkTransition: suspend AsynchronousAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition) -> CheckResult<State, NoNextStateReason>, crossinline onTransition: suspend AsynchronousAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> }): AsynchronousAutomaton<State, Transition, NoNextStateReason>
Link copied to clipboard
inline fun <State, Transition, NoNextStateReason> BlockingAutomaton(lock: ReentrantLock = ReentrantLock(), initialState: State, crossinline checkTransition: BlockingAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition) -> CheckResult<State, NoNextStateReason>, crossinline onTransition: BlockingAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> }): BlockingAutomaton<State, Transition, NoNextStateReason>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun <State, Transition, NoNextStateReason> SuspendAutomaton(initialState: State, crossinline checkTransition: suspend SuspendAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition) -> CheckResult<State, NoNextStateReason>, crossinline onTransition: suspend SuspendAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> }): SuspendAutomaton<State, Transition, NoNextStateReason>
Link copied to clipboard
inline fun <State, Transition, NoNextStateReason> SynchronousAutomaton(initialState: State, crossinline checkTransition: SynchronousAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition) -> CheckResult<State, NoNextStateReason>, crossinline onTransition: SynchronousAutomaton<State, Transition, NoNextStateReason>.(previousState: State, transition: Transition, nextState: State) -> Unit = { _, _, _ -> }): SynchronousAutomaton<State, Transition, NoNextStateReason>