summaryrefslogtreecommitdiffstats
path: root/dev-docs/SocketThreads states.gv
diff options
context:
space:
mode:
authorWilliam 'psyFi' Hatcher <william@hatcher.work>2017-08-13 13:32:12 +0200
committerTiger Wang <ziwei.tiger@outlook.com>2017-08-13 13:32:12 +0200
commit0cd8482f07aadab6de27aa7395de5408737093ad (patch)
treef6809d1a12db5ed885a98f260bdf95a21e3c2343 /dev-docs/SocketThreads states.gv
parentReplaced includes with forward declarations (diff)
downloadcuberite-0cd8482f07aadab6de27aa7395de5408737093ad.tar
cuberite-0cd8482f07aadab6de27aa7395de5408737093ad.tar.gz
cuberite-0cd8482f07aadab6de27aa7395de5408737093ad.tar.bz2
cuberite-0cd8482f07aadab6de27aa7395de5408737093ad.tar.lz
cuberite-0cd8482f07aadab6de27aa7395de5408737093ad.tar.xz
cuberite-0cd8482f07aadab6de27aa7395de5408737093ad.tar.zst
cuberite-0cd8482f07aadab6de27aa7395de5408737093ad.zip
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
+}