module Run_automaton:sig
..end
typestep_allowed_errors =
[ `Database of Trakeva.Error.t
| `Database_unavailable of string
| `Fetching_node of Persistent_data.Error.fetching_node
| `List of step_allowed_errors list
| `Target of [ `Deserilization of string ] ]
Ketrew.Engine.Run_automaton.step
function.
Those errors are so fatal that the engine should not really continue: the database is not responding, or some data is missing or has a wrong format.
The type system makes sure that all other errors are dealt with by the
state machine.
val step : Ketrew.Engine.t ->
(bool, step_allowed_errors)
Unix_io.Deferred_result.t
step
returns true
if something happened.val fix_point : Ketrew.Engine.t ->
([ `Steps of int ], step_allowed_errors)
Unix_io.Deferred_result.t
Ketrew.Engine.Run_automaton.step
many times until nothing happens or nothing “new” happens.val try_to_fix_step_error : Ketrew.Engine.t ->
info:string ->
step_allowed_errors ->
(unit,
[> `Database of [> `Act of Trakeva.Action.t | `Load of string ] * string
| `Database_unavailable of string
| `Not_fixable of step_allowed_errors ])
Unix_io.Deferred_result.t