Skip to content

Latest commit

 

History

History
192 lines (187 loc) · 53.3 KB

File metadata and controls

192 lines (187 loc) · 53.3 KB

text_renderer

Source: emel/text/renderer/sm.hpp

Mermaid

stateDiagram-v2
  direction TB
  [*] --> uninitialized
  uninitialized --> initializing : initialize_runtime [valid_initialize_] / begin_initialize_
  uninitialized --> initialize_publish_error : initialize_runtime [invalid_initialize_] / reject_initialize_
  uninitialized --> render_publish_error : render_runtime [always] / reject_render_
  uninitialized --> flush_publish_error : flush_runtime [always] / reject_flush_
  initialized --> initializing : initialize_runtime [valid_initialize_] / begin_initialize_
  initialized --> initialize_publish_error : initialize_runtime [invalid_initialize_] / reject_initialize_
  initialized --> rendering : render_runtime [valid_render_] / begin_render_
  initialized --> render_publish_error : render_runtime [invalid_render_] / reject_render_
  initialized --> flushing : flush_runtime [valid_flush_] / begin_flush_
  initialized --> flush_publish_error : flush_runtime [invalid_flush_] / reject_flush_
  done --> initializing : initialize_runtime [valid_initialize_] / begin_initialize_
  done --> initialize_publish_error : initialize_runtime [invalid_initialize_] / reject_initialize_
  done --> rendering : render_runtime [valid_render_] / begin_render_
  done --> render_publish_error : render_runtime [invalid_render_] / reject_render_
  done --> flushing : flush_runtime [valid_flush_] / begin_flush_
  done --> flush_publish_error : flush_runtime [invalid_flush_] / reject_flush_
  errored --> initializing : initialize_runtime [valid_initialize_] / begin_initialize_
  errored --> initialize_publish_error : initialize_runtime [invalid_initialize_] / reject_initialize_
  errored --> rendering : render_runtime [valid_render_] / begin_render_
  errored --> render_publish_error : render_runtime [invalid_render_] / reject_render_
  errored --> flushing : flush_runtime [valid_flush_] / begin_flush_
  errored --> flush_publish_error : flush_runtime [invalid_flush_] / reject_flush_
  unexpected --> initializing : initialize_runtime [valid_initialize_] / begin_initialize_
  unexpected --> unexpected : initialize_runtime [invalid_initialize_] / reject_initialize_
  unexpected --> rendering : render_runtime [valid_render_] / begin_render_
  unexpected --> unexpected : render_runtime [invalid_render_] / reject_render_
  unexpected --> flushing : flush_runtime [valid_flush_] / begin_flush_
  unexpected --> unexpected : flush_runtime [invalid_flush_] / reject_flush_
  initialization_decision --> initialize_publish_success : completion_initialize_runtime_ [initialize_dispatch_ok_] / commit_initialize_success_
  initialization_decision --> initialize_publish_error : completion_initialize_runtime_ [initialize_dispatch_backend_failure_] / set_backend_error_
  initialization_decision --> initialize_publish_error : completion_initialize_runtime_ [initialize_dispatch_reported_error_] / set_error_from_detokenizer_
  initialization_decision --> initialize_publish_error : completion_initialize_runtime_ [always] / set_error_from_detokenizer_
  initialize_publish_success --> initialized : completion_initialize_runtime_ [always] / publish_initialize_done_
  initialize_publish_error --> errored : completion_initialize_runtime_ [always] / publish_initialize_error_
  initializing --> initialization_decision : completion_initialize_runtime_ [always] / dispatch_initialize_detokenizer_
  rendering --> render_publish_success : completion_render_runtime_ [sequence_stop_matched_] / render_sequence_already_stopped_
  rendering --> render_dispatch_decision : completion_render_runtime_ [sequence_running_] / dispatch_render_detokenizer_
  render_dispatch_decision --> render_result_decision : completion_render_runtime_ [render_dispatch_ok_] / none
  render_result_decision --> render_commit_output_exec : completion_render_runtime_ [always] / none
  render_commit_output_exec --> render_strip_decision : completion_render_runtime_ [always] / commit_render_detokenizer_output_
  render_strip_decision --> render_strip_prefix_scan_exec : completion_render_runtime_ [strip_needed_] / none
  render_strip_decision --> render_strip_state_exec : completion_render_runtime_ [strip_not_needed_] / none
  render_strip_decision --> render_publish_error : completion_render_runtime_ [always] / ensure_last_error_
  render_strip_prefix_scan_exec --> render_strip_prefix_decision : completion_render_runtime_ [always] / compute_render_leading_space_prefix_
  render_strip_prefix_decision --> render_strip_apply_exec : completion_render_runtime_ [strip_prefix_nonzero_] / apply_render_leading_space_strip_
  render_strip_prefix_decision --> render_strip_state_exec : completion_render_runtime_ [strip_prefix_zero_] / none
  render_strip_prefix_decision --> render_publish_error : completion_render_runtime_ [always] / ensure_last_error_
  render_strip_apply_exec --> render_strip_state_exec : completion_render_runtime_ [always] / none
  render_strip_state_exec --> render_stop_match_exec : completion_render_runtime_ [always] / update_render_strip_state_
  render_stop_match_exec --> render_finalize_decision : completion_render_runtime_ [always] / apply_render_stop_matching_
  render_finalize_decision --> render_publish_success : completion_render_runtime_ [request_ok_] / mark_done_
  render_finalize_decision --> render_publish_error : completion_render_runtime_ [request_failed_] / ensure_last_error_
  render_finalize_decision --> render_publish_error : completion_render_runtime_ [always] / ensure_last_error_
  render_dispatch_decision --> render_publish_error : completion_render_runtime_ [render_dispatch_backend_failure_] / set_backend_error_
  render_dispatch_decision --> render_publish_error : completion_render_runtime_ [render_dispatch_reported_error_] / set_error_from_detokenizer_
  render_dispatch_decision --> render_publish_error : completion_render_runtime_ [render_dispatch_lengths_invalid_] / set_invalid_request_
  render_dispatch_decision --> render_publish_error : completion_render_runtime_ [always] / ensure_last_error_
  render_publish_success --> done : completion_render_runtime_ [always] / publish_render_done_
  render_publish_error --> errored : completion_render_runtime_ [always] / publish_render_error_
  flushing --> flush_publish_success : completion_flush_runtime_ [flush_output_fits_] / flush_copy_sequence_buffers_
  flushing --> flush_publish_error : completion_flush_runtime_ [flush_output_too_large_] / set_invalid_request_
  flush_publish_success --> done : completion_flush_runtime_ [always] / publish_flush_done_
  flush_publish_error --> errored : completion_flush_runtime_ [always] / publish_flush_error_
  uninitialized --> unexpected : _ [always] / on_unexpected_
  initializing --> unexpected : _ [always] / on_unexpected_
  initialization_decision --> unexpected : _ [always] / on_unexpected_
  initialize_publish_success --> unexpected : _ [always] / on_unexpected_
  initialize_publish_error --> unexpected : _ [always] / on_unexpected_
  initialized --> unexpected : _ [always] / on_unexpected_
  rendering --> unexpected : _ [always] / on_unexpected_
  render_dispatch_decision --> unexpected : _ [always] / on_unexpected_
  render_result_decision --> unexpected : _ [always] / on_unexpected_
  render_commit_output_exec --> unexpected : _ [always] / on_unexpected_
  render_strip_decision --> unexpected : _ [always] / on_unexpected_
  render_strip_prefix_scan_exec --> unexpected : _ [always] / on_unexpected_
  render_strip_prefix_decision --> unexpected : _ [always] / on_unexpected_
  render_strip_apply_exec --> unexpected : _ [always] / on_unexpected_
  render_strip_state_exec --> unexpected : _ [always] / on_unexpected_
  render_stop_match_exec --> unexpected : _ [always] / on_unexpected_
  render_finalize_decision --> unexpected : _ [always] / on_unexpected_
  render_publish_success --> unexpected : _ [always] / on_unexpected_
  render_publish_error --> unexpected : _ [always] / on_unexpected_
  flushing --> unexpected : _ [always] / on_unexpected_
  flush_publish_success --> unexpected : _ [always] / on_unexpected_
  flush_publish_error --> unexpected : _ [always] / on_unexpected_
  done --> unexpected : _ [always] / on_unexpected_
  errored --> unexpected : _ [always] / on_unexpected_
  unexpected --> unexpected : _ [always] / on_unexpected_
Loading

Transitions

Source Event Guard Action Target
uninitialized initialize_runtime valid_initialize> begin_initialize> initializing
uninitialized initialize_runtime invalid_initialize> reject_initialize> initialize_publish_error
uninitialized render_runtime always reject_render> render_publish_error
uninitialized flush_runtime always reject_flush> flush_publish_error
initialized initialize_runtime valid_initialize> begin_initialize> initializing
initialized initialize_runtime invalid_initialize> reject_initialize> initialize_publish_error
initialized render_runtime valid_render> begin_render> rendering
initialized render_runtime invalid_render> reject_render> render_publish_error
initialized flush_runtime valid_flush> begin_flush> flushing
initialized flush_runtime invalid_flush> reject_flush> flush_publish_error
done initialize_runtime valid_initialize> begin_initialize> initializing
done initialize_runtime invalid_initialize> reject_initialize> initialize_publish_error
done render_runtime valid_render> begin_render> rendering
done render_runtime invalid_render> reject_render> render_publish_error
done flush_runtime valid_flush> begin_flush> flushing
done flush_runtime invalid_flush> reject_flush> flush_publish_error
errored initialize_runtime valid_initialize> begin_initialize> initializing
errored initialize_runtime invalid_initialize> reject_initialize> initialize_publish_error
errored render_runtime valid_render> begin_render> rendering
errored render_runtime invalid_render> reject_render> render_publish_error
errored flush_runtime valid_flush> begin_flush> flushing
errored flush_runtime invalid_flush> reject_flush> flush_publish_error
unexpected initialize_runtime valid_initialize> begin_initialize> initializing
unexpected initialize_runtime invalid_initialize> reject_initialize> unexpected
unexpected render_runtime valid_render> begin_render> rendering
unexpected render_runtime invalid_render> reject_render> unexpected
unexpected flush_runtime valid_flush> begin_flush> flushing
unexpected flush_runtime invalid_flush> reject_flush> unexpected
initialization_decision completion<initialize_runtime> initialize_dispatch_ok> commit_initialize_success> initialize_publish_success
initialization_decision completion<initialize_runtime> initialize_dispatch_backend_failure> set_backend_error> initialize_publish_error
initialization_decision completion<initialize_runtime> initialize_dispatch_reported_error> set_error_from_detokenizer> initialize_publish_error
initialization_decision completion<initialize_runtime> always set_error_from_detokenizer> initialize_publish_error
initialize_publish_success completion<initialize_runtime> always publish_initialize_done> initialized
initialize_publish_error completion<initialize_runtime> always publish_initialize_error> errored
initializing completion<initialize_runtime> always dispatch_initialize_detokenizer> initialization_decision
rendering completion<render_runtime> sequence_stop_matched> render_sequence_already_stopped> render_publish_success
rendering completion<render_runtime> sequence_running> dispatch_render_detokenizer> render_dispatch_decision
render_dispatch_decision completion<render_runtime> render_dispatch_ok> none render_result_decision
render_result_decision completion<render_runtime> always none render_commit_output_exec
render_commit_output_exec completion<render_runtime> always commit_render_detokenizer_output> render_strip_decision
render_strip_decision completion<render_runtime> strip_needed> none render_strip_prefix_scan_exec
render_strip_decision completion<render_runtime> strip_not_needed> none render_strip_state_exec
render_strip_decision completion<render_runtime> always ensure_last_error> render_publish_error
render_strip_prefix_scan_exec completion<render_runtime> always compute_render_leading_space_prefix> render_strip_prefix_decision
render_strip_prefix_decision completion<render_runtime> strip_prefix_nonzero> apply_render_leading_space_strip> render_strip_apply_exec
render_strip_prefix_decision completion<render_runtime> strip_prefix_zero> none render_strip_state_exec
render_strip_prefix_decision completion<render_runtime> always ensure_last_error> render_publish_error
render_strip_apply_exec completion<render_runtime> always none render_strip_state_exec
render_strip_state_exec completion<render_runtime> always update_render_strip_state> render_stop_match_exec
render_stop_match_exec completion<render_runtime> always apply_render_stop_matching> render_finalize_decision
render_finalize_decision completion<render_runtime> request_ok> mark_done> render_publish_success
render_finalize_decision completion<render_runtime> request_failed> ensure_last_error> render_publish_error
render_finalize_decision completion<render_runtime> always ensure_last_error> render_publish_error
render_dispatch_decision completion<render_runtime> render_dispatch_backend_failure> set_backend_error> render_publish_error
render_dispatch_decision completion<render_runtime> render_dispatch_reported_error> set_error_from_detokenizer> render_publish_error
render_dispatch_decision completion<render_runtime> render_dispatch_lengths_invalid> set_invalid_request> render_publish_error
render_dispatch_decision completion<render_runtime> always ensure_last_error> render_publish_error
render_publish_success completion<render_runtime> always publish_render_done> done
render_publish_error completion<render_runtime> always publish_render_error> errored
flushing completion<flush_runtime> flush_output_fits> flush_copy_sequence_buffers> flush_publish_success
flushing completion<flush_runtime> flush_output_too_large> set_invalid_request> flush_publish_error
flush_publish_success completion<flush_runtime> always publish_flush_done> done
flush_publish_error completion<flush_runtime> always publish_flush_error> errored
uninitialized _ always on_unexpected> unexpected
initializing _ always on_unexpected> unexpected
initialization_decision _ always on_unexpected> unexpected
initialize_publish_success _ always on_unexpected> unexpected
initialize_publish_error _ always on_unexpected> unexpected
initialized _ always on_unexpected> unexpected
rendering _ always on_unexpected> unexpected
render_dispatch_decision _ always on_unexpected> unexpected
render_result_decision _ always on_unexpected> unexpected
render_commit_output_exec _ always on_unexpected> unexpected
render_strip_decision _ always on_unexpected> unexpected
render_strip_prefix_scan_exec _ always on_unexpected> unexpected
render_strip_prefix_decision _ always on_unexpected> unexpected
render_strip_apply_exec _ always on_unexpected> unexpected
render_strip_state_exec _ always on_unexpected> unexpected
render_stop_match_exec _ always on_unexpected> unexpected
render_finalize_decision _ always on_unexpected> unexpected
render_publish_success _ always on_unexpected> unexpected
render_publish_error _ always on_unexpected> unexpected
flushing _ always on_unexpected> unexpected
flush_publish_success _ always on_unexpected> unexpected
flush_publish_error _ always on_unexpected> unexpected
done _ always on_unexpected> unexpected
errored _ always on_unexpected> unexpected
unexpected _ always on_unexpected> unexpected