summaryrefslogtreecommitdiffstats
path: root/dev-docs/SocketThreads states.gv
diff options
context:
space:
mode:
Diffstat (limited to 'dev-docs/SocketThreads states.gv')
-rw-r--r--dev-docs/SocketThreads states.gv77
1 files changed, 77 insertions, 0 deletions
diff --git a/dev-docs/SocketThreads states.gv b/dev-docs/SocketThreads states.gv
new file mode 100644
index 000000000..5afaa5370
--- /dev/null
+++ b/dev-docs/SocketThreads states.gv
@@ -0,0 +1,77 @@
+digraph
+{
+ node
+ [
+ shape="box"
+ ]
+
+ edge
+ [
+ d
+ ]
+
+ // Forward-declarations of nodes (so that they are laid out in a specific order:
+ ssNormal
+ ssWritingRestOut
+ ssShuttingDown
+ ssShuttingDown2
+
+ // Nodes with special labels / shapes:
+ ForceClose
+ [
+ label="Force close"
+ shape="ellipse"
+ ]
+ X
+ [
+ label="Socket closed"
+ shape="ellipse"
+ ]
+
+ // Edges:
+ ssNormal -> ssWritingRestOut
+ [
+ label="cSocketThreads::RemoveClient()"
+ ]
+ ssWritingRestOut -> ssShuttingDown
+ [
+ label="All outgoing data written"
+ ]
+ ssShuttingDown -> ssShuttingDown2
+ [
+ label="One thread loop"
+ ]
+ ssShuttingDown2 -> ForceClose
+ [
+ label="One thread loop"
+ ]
+ ssNormal -> ssRemoteClosed
+ [
+ label="Remote closed"
+ color="red"
+ fontcolor="red"
+ ]
+ ssWritingRestOut -> X
+ [
+ label="Remote closed"
+ color="red"
+ fontcolor="red"
+ ]
+ ssShuttingDown -> X
+ [
+ label="Remote closed"
+ color="red"
+ fontcolor="red"
+ ]
+ ssShuttingDown2 -> X
+ [
+ label="Remote closed"
+ color="red"
+ fontcolor="red"
+ ]
+ ssRemoteClosed -> X
+ [
+ label="cSocketThreads::RemoveClient()"
+ ]
+ ForceClose -> X
+}