summaryrefslogtreecommitdiffstats
path: root/doc/action_state.dot
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-05-08 17:56:16 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-05-08 17:56:16 +0200
commit2ca67f83aa9c52568a5347b600361e698322a337 (patch)
treeee643bffe8c1683005c5447d676a46fb6d644790 /doc/action_state.dot
parent9a41bcee58eb95635d1038ae91b3164ecb4b8da8 (diff)
downloadrsyslog-2ca67f83aa9c52568a5347b600361e698322a337.tar.gz
rsyslog-2ca67f83aa9c52568a5347b600361e698322a337.tar.xz
rsyslog-2ca67f83aa9c52568a5347b600361e698322a337.zip
worked on rsyslog design internals paper
Diffstat (limited to 'doc/action_state.dot')
-rw-r--r--doc/action_state.dot33
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/action_state.dot b/doc/action_state.dot
new file mode 100644
index 00000000..d56d9da0
--- /dev/null
+++ b/doc/action_state.dot
@@ -0,0 +1,33 @@
+// This file is part of rsyslog.
+//
+// rsyslog message state diagram
+//
+// see http://www.graphviz.org for how to obtain the graphviz processor
+// which is used to build the actual graph.
+//
+// generate the graph with
+// $ dot file.dot -Tpng >file.png
+
+digraph msgState {
+ compound=true; nodesep=1.0
+ //label="\n\nrsyslog action transaction states\nhttp://www.rsyslog.com";
+ //fontsize=20;
+
+ rdy [label="ready" group="main"];
+ itx [label="in Tx" group="main"];
+ comm [label="commit"]
+ rtry [label="retry"]
+ susp [label="suspended"]
+
+ rdy -> itx [label="transaction begins"]
+ itx -> itx [label="success"]
+ itx -> comm [label="commit\n(caller or auto)"]
+ itx -> rtry [label="error"]
+ comm -> rdy [label="success"]
+ comm -> rtry [label="error"]
+ rtry -> rdy [label="recovered"]
+ rtry -> susp [label="could not\nrecover"]
+ susp -> rtry [label="timeout expired"]
+
+ {rank=same; comm rtry}
+}