1
0
Fork 0

Added graph of SocketThreads state transitions.

This graph has been used for #560.
This commit is contained in:
madmaxoft 2014-01-19 18:37:20 +01:00
parent 6976735a53
commit cce063b0cd
3 changed files with 101 additions and 4 deletions

7
docs/.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
# PNG file with no filename is created by the GraphViz's GVEdit when displaying .gv files
.png
# The PNG files generated from their .gv sources by GraphViz:
API class inheritance - blockentities.png
API class inheritance - entities.png
SocketThreads states.png

View File

@ -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
}

View File

@ -1,7 +1,20 @@
Contents of this folder:
API class inheritance - blockentities.gv - a GraphViz file to visualise inheritance in the API classes in the Wiki for the cBlockEntity class' descendants
API class inheritance - entities.gv - a GraphViz file to visualise inheritance in the API classes in the Wiki for the cEntity class' descendants
Object ownership.gv - a GraphViz file to visualise ownership relations in the MCServer code architecture
Springs.ods - a spreadsheet with collected statistics about the occurrence of lava / water springs based on height.
API class inheritance - blockentities.gv
- a GraphViz file to visualise inheritance in the API classes in the Wiki for the cBlockEntity class' descendants
API class inheritance - entities.gv
- a GraphViz file to visualise inheritance in the API classes in the Wiki for the cEntity class' descendants
Login Sequence.txt
- Annotated log of packets exchanged between the client and server for login; 1.6.2 protocol
Object ownership.gv
- a GraphViz file to visualise ownership relations in the MCServer code architecture
SocketThreads states.gv
- a GraphViz file documenting the states for individual sockets in cSocketThreads, and transitions between them
Springs.ods
- a spreadsheet with collected statistics about the occurrence of lava / water springs based on height.