Index: docs/Makefile
==================================================================
--- docs/Makefile
+++ docs/Makefile
@@ -33,5 +33,8 @@
megatest.pdf : megatest.lyx
lyx -e pdf2 megatest.lyx
pkts.pdf : pkts.dot
dot -Tpdf pkts.dot -o pkts.pdf
+
+stepwise.pdf : stepwise-rpc-via-direct-and-tcp-or-http.dot
+ dot stepwise-rpc-via-direct-and-tcp-or-http.dot -Tpdf -o stepwise.pdf
ADDED docs/stepwise-rpc-via-direct-and-tcp-or-http.dot
Index: docs/stepwise-rpc-via-direct-and-tcp-or-http.dot
==================================================================
--- /dev/null
+++ docs/stepwise-rpc-via-direct-and-tcp-or-http.dot
@@ -0,0 +1,89 @@
+// Copyright 2006-2017, Matthew Welland.
+//
+// This file is part of Megatest.
+//
+// Megatest is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Megatest is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Megatest. If not, see .
+//
+
+digraph megatest_state_status {
+ ranksep=0.05;
+ // rankdir=LR
+
+ node [shape=box,style=filled];
+
+ "START" -> "have_server";
+ "DONE" [label="ALL DONE"];
+ "send_request" -> "receive_response";
+ "receive_response" -> "DONE";
+
+ subgraph cluster_direct_access {
+ label="Direct Access";
+
+ "direct_access" -> "start_server";
+ "direct_access" -> "touch_access_file";
+ "touch_access_file" -> "touch_host_pid_file";
+ "touch_host_pid_file" -> "count_host_pid_files";
+ "count_host_pid_files" -> "call_query_proc" [label="count < 5"];
+ "wait_for_low_count_host_pid_files" [label="sleep 1"];
+ "count_host_pid_files" -> "wait_for_low_count_host_pid_files"[label="count >= 5"];
+ "wait_for_low_count_host_pid_files" -> "count_host_pid_files";
+ "call_query_proc" -> "DONE";
+ }
+
+ "have_server" -> "ping_server" [label="yes"];
+ "have_server" -> "direct_access" [label="no" ];
+ "ping_server" -> "send_request" [label="server alive"];
+ "ping_server" -> "remove_server_file" [label="server not alive"];
+ "remove_server_file" -> "START";
+
+
+}
+// subgraph cluster_notstarted {
+// label="Not started";
+
+// "NOT_STARTED FAILS" [
+// label = "{ NOT_STARTED/FAILS |{ NO_ITEMS | FAIL_PREREQ | FAIL_TIMEOUT }}";
+// shape= "record";
+// ]
+//
+// "NOT_STARTED n/a" -> "LAUNCHED n/a" [label=" launch"];
+// "NOT_STARTED WAIT" -> "LAUNCHED n/a"
+//
+// "NOT_STARTED n/a";
+// "NOT_STARTED WAIT" [
+// label = "{NOT_STARTED WAIT|{ NO_SLOTS | WAIT_PREREQ}}";
+// shape = "record";
+// ]
+//
+// // struct3 [shape=record,label="hello\nworld |{ b |{c| d|e}| f}| g | h"];
+//
+// "NOT_STARTED n/a" -> "NOT_STARTED FAILS";
+// "NOT_STARTED n/a" -> "NOT_STARTED WAIT";
+//
+// "RUNNING" [
+// shape="record";
+// label="{RUNNING|{n/a| PASS | FAIL}}";
+// ]
+//
+// "COMPLETED" [
+// shape="record";
+// label = "{COMPLETED|{PASS | SKIP | WAIVED | FAIL | CHECK| ABORT}}";
+// ]
+//
+//
+// "RUNNING" -> "COMPLETED";
+// "RUNNING" -> "INCOMPLETE" [label="test dead for > 24hrs"];
+//
+//
+// "LAUNCHED n/a" -> "REMOTEHOSTSTART n/a" -> "RUNNING";