b021f6eec223c8a038be462ca0cf6d68d8d4b87d
[tt2015.git] / a3 / graphs.viz
1 digraph Connection {
2 "Closed" -> "Listen" [label = "Listen?"]
3 "Listen" -> "Syn Received'" [label = "SYN?"]
4 "Syn Received'" -> "Syn Received" [label = "SYN+ACK!"]
5 "Syn Received" -> "Established" [label = "ACK?"]
6 "Syn Received" -> "Listen" [label = "RST?"]
7 "Syn Received'" -> "Listen" [label = "RST?"]
8 }
9 digraph Close {
10 "Established" -> "Close Wait'" [label = "FIN?"]
11 "Close Wait'" -> "Close Wait" [label = "ACK!"]
12 "Close Wait" -> "Last Ack'" [label = "close?"]
13 "Last Ack'" -> "Last Ack" [label = "FIN!"]
14 "Last Ack" -> "Closed" [label = "ACK?"]
15 }
16 digraph TestSetupDown {
17 "G∀ST" -> "Python Adapter" [label = "TCP"]
18 "Python Adapter" -> "SUT" [label = "TCP"]
19 "SUT" -> "EchoServer'"
20 }
21 digraph TestSetupUp { /*todo, invert */
22 "Python Adapter" -> "G∀ST" [label = "TCP"]
23 "SUT" -> "Python Adapter" [label = "TCP"]
24 "EchoServer" -> "SUT"
25 }
26 /*DISCLAIMER: ik ben dat verloop van sequencenummers even kwijt... vandaar steeds nieuwe letters
27 *maar in uiteindelijek fisguur is het wel mooi om het steeds over n+x te hebben.
28 *Daarnaast als er meer shit is die je bijhoudt behalve seqnummer en wat al in de states gecodeerd
29 *is past dat ook mooi in dit figuur
30 */
31 digraph PythonDriverConnection {
32 "q0" -> "q1" [label = "SYN?"] /* SYN? wordt dus gestuurd door GAST*/
33 "q1" -> "q2" [label = "SYN SEQ=n!"] /*stuur een SYN met seqnummer = n naar de SUT*/
34 "q2" -> "q3" [label = "SYN+ACK SEQ=m?"] /*krijg en SYN+ACK met seqnummer = m terug van SUT*/
35 "q3" -> "q4" [label = "SYN+ACK!"] /*stuur versimpelde SYN+ACK! aan GAST*/
36 "q4" -> "q5" [label = "ACK?"] /*krijg simpele ACK van GAST*/
37 "q5" -> "q6" [label = "ACK SEQ=o!"] /*stuur ACK! met seqnummer naar SUT*/
38 }
39 digraph PythonDriverClose {
40 "q0" -> "q1" [label = "FIN?"] /* FIN? wordt dus gestuurd door GAST*/
41 "q1" -> "q2" [label = "FIN SEQ=n!"] /*stuur een FIN met seqnummer = n naar de SUT*/
42 "q2" -> "q3" [label = "ACK SEQ=m?"] /*krijg en ACK met seqnummer = m terug van SUT*/
43 "q3" -> "q4" [label = "ACK!"] /*stuur ACK! aan GAST*/
44 "q4" -> "q5" [label = "FIN SEQ=o?"] /*krijg FIN van SUT*/
45 "q5" -> "q6" [label = "FIN!"] /*stuur FIN! met naar GAST*/
46 "q6" -> "q7" [label = "ACK?"] /*krijg simpele ACK van GAST*/
47 "q7" -> "q8" [label = "ACK SEQ=p!"] /*stuur ACK met seqnummer aan SUT*/
48 }