Skip to content

Latest commit

 

History

History
328 lines (323 loc) · 98.1 KB

File metadata and controls

328 lines (323 loc) · 98.1 KB

memory_hybrid

Source: emel/memory/hybrid/sm.hpp

Mermaid

stateDiagram-v2
  direction TB
  [*] --> ready
  ready --> reserve_kv : reserve_runtime [always] / begin_reserve_
  reserve_kv --> reserve_kv_decision : completion_reserve_runtime_ [always] / exec_reserve_kv_
  reserve_kv_decision --> reserve_recurrent : completion_reserve_runtime_ [kv_accepted_] / none
  reserve_kv_decision --> errored : completion_reserve_runtime_ [kv_rejected_with_error_] / mark_error_from_kv_
  reserve_kv_decision --> errored : completion_reserve_runtime_ [kv_rejected_without_error_] / mark_backend_error_
  reserve_recurrent --> reserve_recurrent_decision : completion_reserve_runtime_ [always] / exec_reserve_recurrent_
  reserve_recurrent_decision --> done : completion_reserve_runtime_ [recurrent_accepted_] / none
  reserve_recurrent_decision --> errored : completion_reserve_runtime_ [recurrent_rejected_with_error_] / mark_error_from_recurrent_
  reserve_recurrent_decision --> errored : completion_reserve_runtime_ [recurrent_rejected_without_error_] / mark_backend_error_
  ready --> allocate_sequence_kv : allocate_sequence_runtime [always] / begin_allocate_sequence_
  allocate_sequence_kv --> allocate_sequence_kv_decision : completion_allocate_sequence_runtime_ [always] / exec_allocate_sequence_kv_
  allocate_sequence_kv_decision --> allocate_sequence_recurrent : completion_allocate_sequence_runtime_ [kv_accepted_] / none
  allocate_sequence_kv_decision --> errored : completion_allocate_sequence_runtime_ [kv_rejected_with_error_] / mark_error_from_kv_
  allocate_sequence_kv_decision --> errored : completion_allocate_sequence_runtime_ [kv_rejected_without_error_] / mark_backend_error_
  allocate_sequence_recurrent --> allocate_sequence_recurrent_decision : completion_allocate_sequence_runtime_ [always] / exec_allocate_sequence_recurrent_
  allocate_sequence_recurrent_decision --> done : completion_allocate_sequence_runtime_ [recurrent_accepted_] / none
  allocate_sequence_recurrent_decision --> allocate_sequence_rollback_kv : completion_allocate_sequence_runtime_ [recurrent_rejected_any_] / exec_allocate_sequence_rollback_kv_
  allocate_sequence_rollback_kv --> allocate_sequence_rollback_result_decision : completion_allocate_sequence_runtime_ [always] / none
  allocate_sequence_rollback_result_decision --> allocate_sequence_recurrent_error_decision : completion_allocate_sequence_runtime_ [rollback_accepted_] / none
  allocate_sequence_rollback_result_decision --> errored : completion_allocate_sequence_runtime_ [rollback_rejected_with_error_] / mark_error_from_rollback_
  allocate_sequence_rollback_result_decision --> errored : completion_allocate_sequence_runtime_ [rollback_rejected_without_error_] / mark_internal_error_
  allocate_sequence_rollback_result_decision --> errored : completion_allocate_sequence_runtime_ [always] / mark_internal_error_
  allocate_sequence_recurrent_error_decision --> out_of_memory : completion_allocate_sequence_runtime_ [recurrent_rejected_out_of_memory_] / mark_out_of_memory_
  allocate_sequence_recurrent_error_decision --> errored : completion_allocate_sequence_runtime_ [recurrent_rejected_backend_or_none_] / mark_backend_error_
  allocate_sequence_recurrent_error_decision --> errored : completion_allocate_sequence_runtime_ [recurrent_rejected_non_backend_error_] / mark_error_from_recurrent_
  allocate_sequence_recurrent_error_decision --> errored : completion_allocate_sequence_runtime_ [always] / mark_internal_error_
  ready --> allocate_slots_kv : allocate_slots_runtime [always] / begin_allocate_slots_
  allocate_slots_kv --> allocate_slots_kv_decision : completion_allocate_slots_runtime_ [always] / exec_allocate_slots_kv_
  allocate_slots_kv_decision --> allocate_slots_recurrent : completion_allocate_slots_runtime_ [kv_accepted_] / none
  allocate_slots_kv_decision --> out_of_memory : completion_allocate_slots_runtime_ [kv_rejected_out_of_memory_] / mark_out_of_memory_
  allocate_slots_kv_decision --> errored : completion_allocate_slots_runtime_ [kv_rejected_backend_or_none_] / mark_backend_error_
  allocate_slots_kv_decision --> errored : completion_allocate_slots_runtime_ [kv_rejected_non_backend_error_] / mark_error_from_kv_
  allocate_slots_recurrent --> allocate_slots_recurrent_decision : completion_allocate_slots_runtime_ [always] / exec_allocate_slots_recurrent_
  allocate_slots_recurrent_decision --> done : completion_allocate_slots_runtime_ [recurrent_accepted_] / none
  allocate_slots_recurrent_decision --> allocate_slots_rollback_kv : completion_allocate_slots_runtime_ [recurrent_rejected_any_] / exec_allocate_slots_rollback_kv_
  allocate_slots_rollback_kv --> allocate_slots_rollback_result_decision : completion_allocate_slots_runtime_ [always] / none
  allocate_slots_rollback_result_decision --> allocate_slots_recurrent_error_decision : completion_allocate_slots_runtime_ [rollback_accepted_] / none
  allocate_slots_rollback_result_decision --> errored : completion_allocate_slots_runtime_ [rollback_rejected_with_error_] / mark_error_from_rollback_
  allocate_slots_rollback_result_decision --> errored : completion_allocate_slots_runtime_ [rollback_rejected_without_error_] / mark_internal_error_
  allocate_slots_rollback_result_decision --> errored : completion_allocate_slots_runtime_ [always] / mark_internal_error_
  allocate_slots_recurrent_error_decision --> out_of_memory : completion_allocate_slots_runtime_ [recurrent_rejected_out_of_memory_] / mark_out_of_memory_
  allocate_slots_recurrent_error_decision --> errored : completion_allocate_slots_runtime_ [recurrent_rejected_backend_or_none_] / mark_backend_error_
  allocate_slots_recurrent_error_decision --> errored : completion_allocate_slots_runtime_ [recurrent_rejected_non_backend_error_] / mark_error_from_recurrent_
  allocate_slots_recurrent_error_decision --> errored : completion_allocate_slots_runtime_ [always] / mark_internal_error_
  ready --> branch_sequence_kv : branch_sequence_runtime [always] / begin_branch_sequence_
  branch_sequence_kv --> branch_sequence_kv_decision : completion_branch_sequence_runtime_ [always] / exec_branch_sequence_kv_
  branch_sequence_kv_decision --> branch_sequence_recurrent : completion_branch_sequence_runtime_ [kv_accepted_] / none
  branch_sequence_kv_decision --> out_of_memory : completion_branch_sequence_runtime_ [kv_rejected_out_of_memory_] / mark_out_of_memory_
  branch_sequence_kv_decision --> errored : completion_branch_sequence_runtime_ [kv_rejected_backend_or_none_] / mark_backend_error_
  branch_sequence_kv_decision --> errored : completion_branch_sequence_runtime_ [kv_rejected_non_backend_error_] / mark_error_from_kv_
  branch_sequence_recurrent --> branch_sequence_recurrent_decision : completion_branch_sequence_runtime_ [always] / exec_branch_sequence_recurrent_
  branch_sequence_recurrent_decision --> done : completion_branch_sequence_runtime_ [recurrent_accepted_] / none
  branch_sequence_recurrent_decision --> branch_sequence_rollback_kv : completion_branch_sequence_runtime_ [recurrent_rejected_any_] / exec_branch_sequence_rollback_kv_
  branch_sequence_rollback_kv --> branch_sequence_rollback_result_decision : completion_branch_sequence_runtime_ [always] / none
  branch_sequence_rollback_result_decision --> branch_sequence_recurrent_error_decision : completion_branch_sequence_runtime_ [rollback_accepted_] / none
  branch_sequence_rollback_result_decision --> errored : completion_branch_sequence_runtime_ [rollback_rejected_with_error_] / mark_error_from_rollback_
  branch_sequence_rollback_result_decision --> errored : completion_branch_sequence_runtime_ [rollback_rejected_without_error_] / mark_internal_error_
  branch_sequence_rollback_result_decision --> errored : completion_branch_sequence_runtime_ [always] / mark_internal_error_
  branch_sequence_recurrent_error_decision --> out_of_memory : completion_branch_sequence_runtime_ [recurrent_rejected_out_of_memory_] / mark_out_of_memory_
  branch_sequence_recurrent_error_decision --> errored : completion_branch_sequence_runtime_ [recurrent_rejected_backend_or_none_] / mark_backend_error_
  branch_sequence_recurrent_error_decision --> errored : completion_branch_sequence_runtime_ [recurrent_rejected_non_backend_error_] / mark_error_from_recurrent_
  branch_sequence_recurrent_error_decision --> errored : completion_branch_sequence_runtime_ [always] / mark_internal_error_
  ready --> free_sequence_kv : free_sequence_runtime [always] / begin_free_sequence_
  free_sequence_kv --> free_sequence_kv_decision : completion_free_sequence_runtime_ [always] / exec_free_sequence_kv_
  free_sequence_kv_decision --> free_sequence_recurrent : completion_free_sequence_runtime_ [kv_accepted_] / none
  free_sequence_kv_decision --> errored : completion_free_sequence_runtime_ [kv_rejected_with_error_] / mark_error_from_kv_
  free_sequence_kv_decision --> errored : completion_free_sequence_runtime_ [kv_rejected_without_error_] / mark_backend_error_
  free_sequence_recurrent --> free_sequence_recurrent_decision : completion_free_sequence_runtime_ [always] / exec_free_sequence_recurrent_
  free_sequence_recurrent_decision --> done : completion_free_sequence_runtime_ [recurrent_accepted_] / none
  free_sequence_recurrent_decision --> errored : completion_free_sequence_runtime_ [recurrent_rejected_with_error_] / mark_error_from_recurrent_
  free_sequence_recurrent_decision --> errored : completion_free_sequence_runtime_ [recurrent_rejected_without_error_] / mark_backend_error_
  ready --> rollback_slots_kv : rollback_slots_runtime [always] / begin_rollback_slots_
  rollback_slots_kv --> rollback_slots_kv_decision : completion_rollback_slots_runtime_ [always] / exec_rollback_slots_kv_
  rollback_slots_kv_decision --> rollback_slots_recurrent : completion_rollback_slots_runtime_ [kv_accepted_] / none
  rollback_slots_kv_decision --> errored : completion_rollback_slots_runtime_ [kv_rejected_with_error_] / mark_error_from_kv_
  rollback_slots_kv_decision --> errored : completion_rollback_slots_runtime_ [kv_rejected_without_error_] / mark_backend_error_
  rollback_slots_recurrent --> rollback_slots_recurrent_decision : completion_rollback_slots_runtime_ [always] / exec_rollback_slots_recurrent_
  rollback_slots_recurrent_decision --> done : completion_rollback_slots_runtime_ [recurrent_accepted_] / none
  rollback_slots_recurrent_decision --> errored : completion_rollback_slots_runtime_ [recurrent_rejected_with_error_] / mark_error_from_recurrent_
  rollback_slots_recurrent_decision --> errored : completion_rollback_slots_runtime_ [recurrent_rejected_without_error_] / mark_backend_error_
  ready --> capture_request_decision : capture_view_runtime [always] / begin_capture_view_
  capture_request_decision --> capture_kv : completion_capture_view_runtime_ [capture_request_valid_] / none
  capture_request_decision --> errored : completion_capture_view_runtime_ [capture_request_invalid_] / mark_invalid_request_
  capture_kv --> capture_kv_decision : completion_capture_view_runtime_ [always] / exec_capture_kv_
  capture_kv_decision --> capture_recurrent : completion_capture_view_runtime_ [kv_accepted_] / none
  capture_kv_decision --> errored : completion_capture_view_runtime_ [kv_rejected_with_error_] / mark_error_from_kv_
  capture_kv_decision --> errored : completion_capture_view_runtime_ [kv_rejected_without_error_] / mark_backend_error_
  capture_recurrent --> capture_recurrent_decision : completion_capture_view_runtime_ [always] / exec_capture_recurrent_
  capture_recurrent_decision --> capture_merge : completion_capture_view_runtime_ [recurrent_accepted_] / none
  capture_recurrent_decision --> errored : completion_capture_view_runtime_ [recurrent_rejected_with_error_] / mark_error_from_recurrent_
  capture_recurrent_decision --> errored : completion_capture_view_runtime_ [recurrent_rejected_without_error_] / mark_backend_error_
  capture_merge --> done : completion_capture_view_runtime_ [always] / merge_capture_snapshots_
  done --> ready : completion_reserve_runtime_ [always] / publish_done_
  out_of_memory --> ready : completion_reserve_runtime_ [always] / publish_error_
  errored --> ready : completion_reserve_runtime_ [always] / publish_error_
  done --> ready : completion_allocate_sequence_runtime_ [always] / publish_done_
  out_of_memory --> ready : completion_allocate_sequence_runtime_ [always] / publish_error_
  errored --> ready : completion_allocate_sequence_runtime_ [always] / publish_error_
  done --> ready : completion_allocate_slots_runtime_ [always] / publish_done_
  out_of_memory --> ready : completion_allocate_slots_runtime_ [always] / publish_error_
  errored --> ready : completion_allocate_slots_runtime_ [always] / publish_error_
  done --> ready : completion_branch_sequence_runtime_ [always] / publish_done_
  out_of_memory --> ready : completion_branch_sequence_runtime_ [always] / publish_error_
  errored --> ready : completion_branch_sequence_runtime_ [always] / publish_error_
  done --> ready : completion_free_sequence_runtime_ [always] / publish_done_
  out_of_memory --> ready : completion_free_sequence_runtime_ [always] / publish_error_
  errored --> ready : completion_free_sequence_runtime_ [always] / publish_error_
  done --> ready : completion_rollback_slots_runtime_ [always] / publish_done_
  out_of_memory --> ready : completion_rollback_slots_runtime_ [always] / publish_error_
  errored --> ready : completion_rollback_slots_runtime_ [always] / publish_error_
  done --> ready : completion_capture_view_runtime_ [always] / publish_done_
  out_of_memory --> ready : completion_capture_view_runtime_ [always] / publish_error_
  errored --> ready : completion_capture_view_runtime_ [always] / publish_error_
  ready --> ready : _ [always] / on_unexpected_
  reserve_kv --> ready : _ [always] / on_unexpected_
  reserve_kv_decision --> ready : _ [always] / on_unexpected_
  reserve_recurrent --> ready : _ [always] / on_unexpected_
  reserve_recurrent_decision --> ready : _ [always] / on_unexpected_
  allocate_sequence_kv --> ready : _ [always] / on_unexpected_
  allocate_sequence_kv_decision --> ready : _ [always] / on_unexpected_
  allocate_sequence_recurrent --> ready : _ [always] / on_unexpected_
  allocate_sequence_recurrent_decision --> ready : _ [always] / on_unexpected_
  allocate_sequence_rollback_kv --> ready : _ [always] / on_unexpected_
  allocate_sequence_rollback_result_decision --> ready : _ [always] / on_unexpected_
  allocate_sequence_recurrent_error_decision --> ready : _ [always] / on_unexpected_
  allocate_slots_kv --> ready : _ [always] / on_unexpected_
  allocate_slots_kv_decision --> ready : _ [always] / on_unexpected_
  allocate_slots_recurrent --> ready : _ [always] / on_unexpected_
  allocate_slots_recurrent_decision --> ready : _ [always] / on_unexpected_
  allocate_slots_rollback_kv --> ready : _ [always] / on_unexpected_
  allocate_slots_rollback_result_decision --> ready : _ [always] / on_unexpected_
  allocate_slots_recurrent_error_decision --> ready : _ [always] / on_unexpected_
  branch_sequence_kv --> ready : _ [always] / on_unexpected_
  branch_sequence_kv_decision --> ready : _ [always] / on_unexpected_
  branch_sequence_recurrent --> ready : _ [always] / on_unexpected_
  branch_sequence_recurrent_decision --> ready : _ [always] / on_unexpected_
  branch_sequence_rollback_kv --> ready : _ [always] / on_unexpected_
  branch_sequence_rollback_result_decision --> ready : _ [always] / on_unexpected_
  branch_sequence_recurrent_error_decision --> ready : _ [always] / on_unexpected_
  free_sequence_kv --> ready : _ [always] / on_unexpected_
  free_sequence_kv_decision --> ready : _ [always] / on_unexpected_
  free_sequence_recurrent --> ready : _ [always] / on_unexpected_
  free_sequence_recurrent_decision --> ready : _ [always] / on_unexpected_
  rollback_slots_kv --> ready : _ [always] / on_unexpected_
  rollback_slots_kv_decision --> ready : _ [always] / on_unexpected_
  rollback_slots_recurrent --> ready : _ [always] / on_unexpected_
  rollback_slots_recurrent_decision --> ready : _ [always] / on_unexpected_
  capture_request_decision --> ready : _ [always] / on_unexpected_
  capture_kv --> ready : _ [always] / on_unexpected_
  capture_kv_decision --> ready : _ [always] / on_unexpected_
  capture_recurrent --> ready : _ [always] / on_unexpected_
  capture_recurrent_decision --> ready : _ [always] / on_unexpected_
  capture_merge --> ready : _ [always] / on_unexpected_
  done --> ready : _ [always] / on_unexpected_
  out_of_memory --> ready : _ [always] / on_unexpected_
  errored --> ready : _ [always] / on_unexpected_
Loading

Transitions

Source Event Guard Action Target
ready reserve_runtime always begin_reserve> reserve_kv
reserve_kv completion<reserve_runtime> always exec_reserve_kv> reserve_kv_decision
reserve_kv_decision completion<reserve_runtime> kv_accepted> none reserve_recurrent
reserve_kv_decision completion<reserve_runtime> kv_rejected_with_error> mark_error_from_kv> errored
reserve_kv_decision completion<reserve_runtime> kv_rejected_without_error> mark_backend_error> errored
reserve_recurrent completion<reserve_runtime> always exec_reserve_recurrent> reserve_recurrent_decision
reserve_recurrent_decision completion<reserve_runtime> recurrent_accepted> none done
reserve_recurrent_decision completion<reserve_runtime> recurrent_rejected_with_error> mark_error_from_recurrent> errored
reserve_recurrent_decision completion<reserve_runtime> recurrent_rejected_without_error> mark_backend_error> errored
ready allocate_sequence_runtime always begin_allocate_sequence> allocate_sequence_kv
allocate_sequence_kv completion<allocate_sequence_runtime> always exec_allocate_sequence_kv> allocate_sequence_kv_decision
allocate_sequence_kv_decision completion<allocate_sequence_runtime> kv_accepted> none allocate_sequence_recurrent
allocate_sequence_kv_decision completion<allocate_sequence_runtime> kv_rejected_with_error> mark_error_from_kv> errored
allocate_sequence_kv_decision completion<allocate_sequence_runtime> kv_rejected_without_error> mark_backend_error> errored
allocate_sequence_recurrent completion<allocate_sequence_runtime> always exec_allocate_sequence_recurrent> allocate_sequence_recurrent_decision
allocate_sequence_recurrent_decision completion<allocate_sequence_runtime> recurrent_accepted> none done
allocate_sequence_recurrent_decision completion<allocate_sequence_runtime> recurrent_rejected_any> exec_allocate_sequence_rollback_kv> allocate_sequence_rollback_kv
allocate_sequence_rollback_kv completion<allocate_sequence_runtime> always none allocate_sequence_rollback_result_decision
allocate_sequence_rollback_result_decision completion<allocate_sequence_runtime> rollback_accepted> none allocate_sequence_recurrent_error_decision
allocate_sequence_rollback_result_decision completion<allocate_sequence_runtime> rollback_rejected_with_error> mark_error_from_rollback> errored
allocate_sequence_rollback_result_decision completion<allocate_sequence_runtime> rollback_rejected_without_error> mark_internal_error> errored
allocate_sequence_rollback_result_decision completion<allocate_sequence_runtime> always mark_internal_error> errored
allocate_sequence_recurrent_error_decision completion<allocate_sequence_runtime> recurrent_rejected_out_of_memory> mark_out_of_memory> out_of_memory
allocate_sequence_recurrent_error_decision completion<allocate_sequence_runtime> recurrent_rejected_backend_or_none> mark_backend_error> errored
allocate_sequence_recurrent_error_decision completion<allocate_sequence_runtime> recurrent_rejected_non_backend_error> mark_error_from_recurrent> errored
allocate_sequence_recurrent_error_decision completion<allocate_sequence_runtime> always mark_internal_error> errored
ready allocate_slots_runtime always begin_allocate_slots> allocate_slots_kv
allocate_slots_kv completion<allocate_slots_runtime> always exec_allocate_slots_kv> allocate_slots_kv_decision
allocate_slots_kv_decision completion<allocate_slots_runtime> kv_accepted> none allocate_slots_recurrent
allocate_slots_kv_decision completion<allocate_slots_runtime> kv_rejected_out_of_memory> mark_out_of_memory> out_of_memory
allocate_slots_kv_decision completion<allocate_slots_runtime> kv_rejected_backend_or_none> mark_backend_error> errored
allocate_slots_kv_decision completion<allocate_slots_runtime> kv_rejected_non_backend_error> mark_error_from_kv> errored
allocate_slots_recurrent completion<allocate_slots_runtime> always exec_allocate_slots_recurrent> allocate_slots_recurrent_decision
allocate_slots_recurrent_decision completion<allocate_slots_runtime> recurrent_accepted> none done
allocate_slots_recurrent_decision completion<allocate_slots_runtime> recurrent_rejected_any> exec_allocate_slots_rollback_kv> allocate_slots_rollback_kv
allocate_slots_rollback_kv completion<allocate_slots_runtime> always none allocate_slots_rollback_result_decision
allocate_slots_rollback_result_decision completion<allocate_slots_runtime> rollback_accepted> none allocate_slots_recurrent_error_decision
allocate_slots_rollback_result_decision completion<allocate_slots_runtime> rollback_rejected_with_error> mark_error_from_rollback> errored
allocate_slots_rollback_result_decision completion<allocate_slots_runtime> rollback_rejected_without_error> mark_internal_error> errored
allocate_slots_rollback_result_decision completion<allocate_slots_runtime> always mark_internal_error> errored
allocate_slots_recurrent_error_decision completion<allocate_slots_runtime> recurrent_rejected_out_of_memory> mark_out_of_memory> out_of_memory
allocate_slots_recurrent_error_decision completion<allocate_slots_runtime> recurrent_rejected_backend_or_none> mark_backend_error> errored
allocate_slots_recurrent_error_decision completion<allocate_slots_runtime> recurrent_rejected_non_backend_error> mark_error_from_recurrent> errored
allocate_slots_recurrent_error_decision completion<allocate_slots_runtime> always mark_internal_error> errored
ready branch_sequence_runtime always begin_branch_sequence> branch_sequence_kv
branch_sequence_kv completion<branch_sequence_runtime> always exec_branch_sequence_kv> branch_sequence_kv_decision
branch_sequence_kv_decision completion<branch_sequence_runtime> kv_accepted> none branch_sequence_recurrent
branch_sequence_kv_decision completion<branch_sequence_runtime> kv_rejected_out_of_memory> mark_out_of_memory> out_of_memory
branch_sequence_kv_decision completion<branch_sequence_runtime> kv_rejected_backend_or_none> mark_backend_error> errored
branch_sequence_kv_decision completion<branch_sequence_runtime> kv_rejected_non_backend_error> mark_error_from_kv> errored
branch_sequence_recurrent completion<branch_sequence_runtime> always exec_branch_sequence_recurrent> branch_sequence_recurrent_decision
branch_sequence_recurrent_decision completion<branch_sequence_runtime> recurrent_accepted> none done
branch_sequence_recurrent_decision completion<branch_sequence_runtime> recurrent_rejected_any> exec_branch_sequence_rollback_kv> branch_sequence_rollback_kv
branch_sequence_rollback_kv completion<branch_sequence_runtime> always none branch_sequence_rollback_result_decision
branch_sequence_rollback_result_decision completion<branch_sequence_runtime> rollback_accepted> none branch_sequence_recurrent_error_decision
branch_sequence_rollback_result_decision completion<branch_sequence_runtime> rollback_rejected_with_error> mark_error_from_rollback> errored
branch_sequence_rollback_result_decision completion<branch_sequence_runtime> rollback_rejected_without_error> mark_internal_error> errored
branch_sequence_rollback_result_decision completion<branch_sequence_runtime> always mark_internal_error> errored
branch_sequence_recurrent_error_decision completion<branch_sequence_runtime> recurrent_rejected_out_of_memory> mark_out_of_memory> out_of_memory
branch_sequence_recurrent_error_decision completion<branch_sequence_runtime> recurrent_rejected_backend_or_none> mark_backend_error> errored
branch_sequence_recurrent_error_decision completion<branch_sequence_runtime> recurrent_rejected_non_backend_error> mark_error_from_recurrent> errored
branch_sequence_recurrent_error_decision completion<branch_sequence_runtime> always mark_internal_error> errored
ready free_sequence_runtime always begin_free_sequence> free_sequence_kv
free_sequence_kv completion<free_sequence_runtime> always exec_free_sequence_kv> free_sequence_kv_decision
free_sequence_kv_decision completion<free_sequence_runtime> kv_accepted> none free_sequence_recurrent
free_sequence_kv_decision completion<free_sequence_runtime> kv_rejected_with_error> mark_error_from_kv> errored
free_sequence_kv_decision completion<free_sequence_runtime> kv_rejected_without_error> mark_backend_error> errored
free_sequence_recurrent completion<free_sequence_runtime> always exec_free_sequence_recurrent> free_sequence_recurrent_decision
free_sequence_recurrent_decision completion<free_sequence_runtime> recurrent_accepted> none done
free_sequence_recurrent_decision completion<free_sequence_runtime> recurrent_rejected_with_error> mark_error_from_recurrent> errored
free_sequence_recurrent_decision completion<free_sequence_runtime> recurrent_rejected_without_error> mark_backend_error> errored
ready rollback_slots_runtime always begin_rollback_slots> rollback_slots_kv
rollback_slots_kv completion<rollback_slots_runtime> always exec_rollback_slots_kv> rollback_slots_kv_decision
rollback_slots_kv_decision completion<rollback_slots_runtime> kv_accepted> none rollback_slots_recurrent
rollback_slots_kv_decision completion<rollback_slots_runtime> kv_rejected_with_error> mark_error_from_kv> errored
rollback_slots_kv_decision completion<rollback_slots_runtime> kv_rejected_without_error> mark_backend_error> errored
rollback_slots_recurrent completion<rollback_slots_runtime> always exec_rollback_slots_recurrent> rollback_slots_recurrent_decision
rollback_slots_recurrent_decision completion<rollback_slots_runtime> recurrent_accepted> none done
rollback_slots_recurrent_decision completion<rollback_slots_runtime> recurrent_rejected_with_error> mark_error_from_recurrent> errored
rollback_slots_recurrent_decision completion<rollback_slots_runtime> recurrent_rejected_without_error> mark_backend_error> errored
ready capture_view_runtime always begin_capture_view> capture_request_decision
capture_request_decision completion<capture_view_runtime> capture_request_valid> none capture_kv
capture_request_decision completion<capture_view_runtime> capture_request_invalid> mark_invalid_request> errored
capture_kv completion<capture_view_runtime> always exec_capture_kv> capture_kv_decision
capture_kv_decision completion<capture_view_runtime> kv_accepted> none capture_recurrent
capture_kv_decision completion<capture_view_runtime> kv_rejected_with_error> mark_error_from_kv> errored
capture_kv_decision completion<capture_view_runtime> kv_rejected_without_error> mark_backend_error> errored
capture_recurrent completion<capture_view_runtime> always exec_capture_recurrent> capture_recurrent_decision
capture_recurrent_decision completion<capture_view_runtime> recurrent_accepted> none capture_merge
capture_recurrent_decision completion<capture_view_runtime> recurrent_rejected_with_error> mark_error_from_recurrent> errored
capture_recurrent_decision completion<capture_view_runtime> recurrent_rejected_without_error> mark_backend_error> errored
capture_merge completion<capture_view_runtime> always merge_capture_snapshots> done
done completion<reserve_runtime> always publish_done> ready
out_of_memory completion<reserve_runtime> always publish_error> ready
errored completion<reserve_runtime> always publish_error> ready
done completion<allocate_sequence_runtime> always publish_done> ready
out_of_memory completion<allocate_sequence_runtime> always publish_error> ready
errored completion<allocate_sequence_runtime> always publish_error> ready
done completion<allocate_slots_runtime> always publish_done> ready
out_of_memory completion<allocate_slots_runtime> always publish_error> ready
errored completion<allocate_slots_runtime> always publish_error> ready
done completion<branch_sequence_runtime> always publish_done> ready
out_of_memory completion<branch_sequence_runtime> always publish_error> ready
errored completion<branch_sequence_runtime> always publish_error> ready
done completion<free_sequence_runtime> always publish_done> ready
out_of_memory completion<free_sequence_runtime> always publish_error> ready
errored completion<free_sequence_runtime> always publish_error> ready
done completion<rollback_slots_runtime> always publish_done> ready
out_of_memory completion<rollback_slots_runtime> always publish_error> ready
errored completion<rollback_slots_runtime> always publish_error> ready
done completion<capture_view_runtime> always publish_done> ready
out_of_memory completion<capture_view_runtime> always publish_error> ready
errored completion<capture_view_runtime> always publish_error> ready
ready _ always on_unexpected> ready
reserve_kv _ always on_unexpected> ready
reserve_kv_decision _ always on_unexpected> ready
reserve_recurrent _ always on_unexpected> ready
reserve_recurrent_decision _ always on_unexpected> ready
allocate_sequence_kv _ always on_unexpected> ready
allocate_sequence_kv_decision _ always on_unexpected> ready
allocate_sequence_recurrent _ always on_unexpected> ready
allocate_sequence_recurrent_decision _ always on_unexpected> ready
allocate_sequence_rollback_kv _ always on_unexpected> ready
allocate_sequence_rollback_result_decision _ always on_unexpected> ready
allocate_sequence_recurrent_error_decision _ always on_unexpected> ready
allocate_slots_kv _ always on_unexpected> ready
allocate_slots_kv_decision _ always on_unexpected> ready
allocate_slots_recurrent _ always on_unexpected> ready
allocate_slots_recurrent_decision _ always on_unexpected> ready
allocate_slots_rollback_kv _ always on_unexpected> ready
allocate_slots_rollback_result_decision _ always on_unexpected> ready
allocate_slots_recurrent_error_decision _ always on_unexpected> ready
branch_sequence_kv _ always on_unexpected> ready
branch_sequence_kv_decision _ always on_unexpected> ready
branch_sequence_recurrent _ always on_unexpected> ready
branch_sequence_recurrent_decision _ always on_unexpected> ready
branch_sequence_rollback_kv _ always on_unexpected> ready
branch_sequence_rollback_result_decision _ always on_unexpected> ready
branch_sequence_recurrent_error_decision _ always on_unexpected> ready
free_sequence_kv _ always on_unexpected> ready
free_sequence_kv_decision _ always on_unexpected> ready
free_sequence_recurrent _ always on_unexpected> ready
free_sequence_recurrent_decision _ always on_unexpected> ready
rollback_slots_kv _ always on_unexpected> ready
rollback_slots_kv_decision _ always on_unexpected> ready
rollback_slots_recurrent _ always on_unexpected> ready
rollback_slots_recurrent_decision _ always on_unexpected> ready
capture_request_decision _ always on_unexpected> ready
capture_kv _ always on_unexpected> ready
capture_kv_decision _ always on_unexpected> ready
capture_recurrent _ always on_unexpected> ready
capture_recurrent_decision _ always on_unexpected> ready
capture_merge _ always on_unexpected> ready
done _ always on_unexpected> ready
out_of_memory _ always on_unexpected> ready
errored _ always on_unexpected> ready