Skip to content

Latest commit

 

History

History
44 lines (39 loc) · 8.17 KB

File metadata and controls

44 lines (39 loc) · 8.17 KB

gbnf_sampler

Source: emel/gbnf/sampler/sm.hpp

Mermaid

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_
Loading

Transitions

Source Event Guard Action Target
ready sample_runtime always begin_sample> request_decision
request_decision completion<sample_runtime> valid_sample_request> none filter_candidates
request_decision completion<sample_runtime> invalid_sample_request> mark_invalid_request> errored
filter_candidates completion<sample_runtime> always filter_candidates> finalize_decision
finalize_decision completion<sample_runtime> filtered_candidates_available> none done
finalize_decision completion<sample_runtime> no_filtered_candidates> mark_parse_failed> errored
done completion<sample_runtime> always publish_done> ready
errored completion<sample_runtime> always publish_error> ready
ready _ always on_unexpected> ready
request_decision _ always on_unexpected> ready
filter_candidates _ always on_unexpected> ready
finalize_decision _ always on_unexpected> ready
done _ always on_unexpected> ready
errored _ always on_unexpected> ready