Source: emel/graph/processor/bind_step/sm.hpp
stateDiagram-v2
direction TB
[*] --> deciding
deciding --> execute_failed : completion_execute_step_ [phase_prefailed_] / mark_failed_existing_error_
deciding --> callback_decision : completion_execute_step_ [phase_request_callback_] / run_callback_
deciding --> execute_failed : completion_execute_step_ [phase_missing_callback_] / mark_failed_invalid_request_
callback_decision --> executed : completion_execute_step_ [callback_ok_] / mark_done_
callback_decision --> execute_failed : completion_execute_step_ [callback_error_] / mark_failed_callback_error_
callback_decision --> execute_failed : completion_execute_step_ [callback_failed_without_error_] / mark_failed_callback_without_error_
executed --> terminate : [always] / none
execute_failed --> terminate : [always] / none
deciding --> unexpected_event : _ [always] / on_unexpected_
callback_decision --> unexpected_event : _ [always] / on_unexpected_
executed --> unexpected_event : _ [always] / on_unexpected_
execute_failed --> unexpected_event : _ [always] / on_unexpected_
unexpected_event --> unexpected_event : _ [always] / on_unexpected_