Package-level declarations
Types
A Cold StateRepo, using a MutableSharedFlow as it's backing implementation.
A Hot StateRepo, using a MutableSharedFlow as it's backing implementation.
A BaseColdStateRepo based on a MutableStateFlow.
A BaseColdStateRepo that represents its State as a Cold flow. Data will only be set when the state is observed.
Marker interface to indicate a KalugaState should execute an action after creating a new state to transition to.
Marker interface to indicate a KalugaState should execute an action after it has been transitioned into a new state.
Marker interface to indicate a KalugaState should execute an action after replacing another state.
Marker interface to indicate a KalugaState should execute an action before creating a new state to transition to.
Marker interface to indicate a KalugaState should execute an action before replacing another state.
An abstract BaseHotStateRepo that uses a MutableStateFlow to back up its data.
An abstract BaseHotStateRepo that uses a MutableSharedFlow with a replay cache of 1
and configured with BufferOverflow.DROP_OLDEST to back up data.
State to be represented in a state machine
A wrapper for a StateFlow containing a KalugaState
The state repo can change holds the current KalugaState (which can be accessed as a flow), and can be used to change the current state