Source: emel/gbnf/sampler/sm.hpp
stateDiagram-v2
direction TB
[*] --> ready
ready --> request_decision : sample_runtime [always] / begin_sample_
request_decision --> filter_candidates : completion_sample_runtime_ [valid_sample_request_] / none
request_decision --> errored : completion_sample_runtime_ [invalid_sample_request_] / mark_invalid_request_
filter_candidates --> finalize_decision : completion_sample_runtime_ [always] / filter_candidates_
finalize_decision --> done : completion_sample_runtime_ [filtered_candidates_available_] / none
finalize_decision --> errored : completion_sample_runtime_ [no_filtered_candidates_] / mark_parse_failed_
done --> ready : completion_sample_runtime_ [always] / publish_done_
errored --> ready : completion_sample_runtime_ [always] / publish_error_
ready --> ready : _ [always] / on_unexpected_
request_decision --> ready : _ [always] / on_unexpected_
filter_candidates --> ready : _ [always] / on_unexpected_
finalize_decision --> ready : _ [always] / on_unexpected_
done --> ready : _ [always] / on_unexpected_
errored --> ready : _ [always] / on_unexpected_