summaryrefslogtreecommitdiff
path: root/images/transaction-common-states.dot
blob: a3597f80a74d18520ea7f198fd2d26b53b90c09f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
digraph G {

  initial[label="", shape="circle"];
  pending[label="pending"];
  dialog[label="dialog", shape="box"];
  done[label="done", shape="box"];
  aborted[label="aborted", shape="box", style="dashed"];
  aborting[label="aborting", style="dashed"];
  expired[label="expired", shape="box"];
  failed[label="failed", shape="box"];
  suspended[label="suspended", shape="box"];
  suspended_aborting[label="suspended-aborting", shape="box", style="dashed"];
  deleted[label="deleted", shape="box"];

  subgraph {
    rank = same; done; failed; expired; aborted;
  }
  subgraph {
    rank = same; pending; aborting;
  }
  subgraph {
    rank = same; dialog; suspended; suspended_aborting;
  }

  initial->pending;
  pending->suspended [color="blue",label="suspend"];
  pending->expired [label="expire"];
  pending->dialog [color="green",label="success"];
  pending->pending [color="green",label="progress"];
  pending->done [color="green",label="success"];
  pending->failed [color="red",label="failure"];
  pending->failed [color="blue",label="fail"];
  pending->aborting [color="blue",label="abort", style="dashed"];
  dialog->pending [color="blue",label="OK"];
  dialog->deleted [color="blue", label="delete"];
  dialog->expired [label="expire"];
  dialog->aborting [color="blue", label="refuse", style="dashed"];
  suspended->pending [color="blue",label="resume"];
  suspended->aborting [color="blue",label="abort", style="dashed"];
  suspended->expired [label="expire"];
  aborting->aborting [color="green",label="progress"];
  aborting->aborted [color="green",label="success"];
  aborting->suspended_aborting [color="blue",label="suspend"];
  aborting->failed [color="red",label="failure"];
  aborting->failed [color="blue",label="fail"];
  suspended_aborting->aborting [color="blue",label="resume"];
  suspended_aborting->failed [color="blue",label="fail"];
  failed->deleted [color="blue",label="delete"];
  expired->deleted [color="blue",label="delete"];
  aborted->deleted [color="blue",label="delete"];
  done->deleted [color="blue",label="delete"];
}