temporal_sdk_core/machines/
signal_external_state_machine.rs1use rustfsm::{fsm, TransitionResult};
2
3fsm! {
4 pub(super) name SignalExternalMachine; command SignalExternalCommand; error SignalExternalMachineError;
5
6 Created --(Schedule, on_schedule) --> SignalExternalCommandCreated;
7
8 SignalExternalCommandCreated --(CommandSignalExternalWorkflowExecution) --> SignalExternalCommandCreated;
9 SignalExternalCommandCreated --(Cancel, on_cancel) --> Canceled;
10 SignalExternalCommandCreated --(SignalExternalWorkflowExecutionInitiated, on_signal_external_workflow_execution_initiated) --> SignalExternalCommandRecorded;
11
12 SignalExternalCommandRecorded --(Cancel) --> SignalExternalCommandRecorded;
13 SignalExternalCommandRecorded --(ExternalWorkflowExecutionSignaled, on_external_workflow_execution_signaled) --> Signaled;
14 SignalExternalCommandRecorded --(SignalExternalWorkflowExecutionFailed, on_signal_external_workflow_execution_failed) --> Failed;
15}
16
17#[derive(thiserror::Error, Debug)]
18pub(super) enum SignalExternalMachineError {}
19
20pub(super) enum SignalExternalCommand {}
21
22#[derive(Default, Clone)]
23pub(super) struct Canceled {}
24
25#[derive(Default, Clone)]
26pub(super) struct Created {}
27
28impl Created {
29 pub(super) fn on_schedule(
30 self,
31 ) -> SignalExternalMachineTransition<SignalExternalCommandCreated> {
32 unimplemented!()
33 }
34}
35
36#[derive(Default, Clone)]
37pub(super) struct Failed {}
38
39#[derive(Default, Clone)]
40pub(super) struct SignalExternalCommandCreated {}
41
42impl SignalExternalCommandCreated {
43 pub(super) fn on_cancel(self) -> SignalExternalMachineTransition<Canceled> {
44 unimplemented!()
45 }
46 pub(super) fn on_signal_external_workflow_execution_initiated(
47 self,
48 ) -> SignalExternalMachineTransition<SignalExternalCommandRecorded> {
49 unimplemented!()
50 }
51}
52
53#[derive(Default, Clone)]
54pub(super) struct SignalExternalCommandRecorded {}
55
56impl SignalExternalCommandRecorded {
57 pub(super) fn on_external_workflow_execution_signaled(
58 self,
59 ) -> SignalExternalMachineTransition<Signaled> {
60 unimplemented!()
61 }
62 pub(super) fn on_signal_external_workflow_execution_failed(
63 self,
64 ) -> SignalExternalMachineTransition<Failed> {
65 unimplemented!()
66 }
67}
68
69#[derive(Default, Clone)]
70pub(super) struct Signaled {}