Cizen v0.12.5 Cizen.Automaton behaviour View Source
A saga framework to create an automaton.
Link to this section Summary
Functions
Performs an effect
Callbacks
Invoked when the automaton is spawned. Saga.Started event will be dispatched after this callback
Invoked when last spawn/2
or yield/2 callback returns a next state
Link to this section Types
Link to this section Functions
Link to this section Callbacks
spawn(Cizen.SagaID.t(), Cizen.Saga.t()) :: finish() | state()
Invoked when the automaton is spawned. Saga.Started event will be dispatched after this callback.
Returned value will be used as the next state to pass yield/2
callback.
Returning Automaton.finish() will cause the automaton to finish.
If not defined, default implementation is used,
and it passes the given saga struct to yield/2
callback.
yield(Cizen.SagaID.t(), state()) :: finish() | state()
Invoked when last spawn/2
or yield/2 callback returns a next state.
Returned value will be used as the next state to pass yield/2
callback.
Returning Automaton.finish()
will cause the automaton to finish.
If not defined, default implementation is used,
and it returns Automaton.finish()
.