summaryrefslogtreecommitdiffstats
path: root/doc/action-call.dot
blob: 86c6834de5c8315a97e9a3b83d4e1096b684d30f (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
// This file is part of rsyslog.
// 
// rsyslog action call 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 action-call.dot -Tpng >action-call.png

digraph G {
	label="\n\nrsyslog message states during action processing\nhttp://www.rsyslog.com";
	//fontsize=20;

	ok	[label="ready for processing" color="green"];
	mpf	[label="message permanent failure" color="red"];
	tf	[label="temporary failure"]
	cPen	[label="commit pending"];
	com	[label="committed" color="red"];

	tf -> tf	[label="retry fails, i < n"];
	tf -> mpf	[label="retry fails, i = n"];
	tf -> ok	[label="retry succeeds"];
	ok -> com	[label="doAction RS_RET_OK"];
	ok -> cPen	[label="doAction COMMIT_PENDING"];
	ok -> tf	[label="doAction RS_RET_SUSPENDED"];
	ok -> mpf	[label="doAction RS_RET_DISABLED"];
	cPen -> com	[label="endTransaction RS_RET_OK"];
	cPen -> tf	[label="endTransaction _SUSPENDED"];

	//{rank=same; tf cPen}
	{rank=same; com mpf}
}