mirror of
https://github.com/Green-Sky/tox_ngc_ft1.git
synced 2024-12-22 10:33:26 +01:00
add (somewhat outdated) diagrams
This commit is contained in:
parent
dee7bb8e9e
commit
27f4dd7180
33
ft_recv.dot
Normal file
33
ft_recv.dot
Normal file
@ -0,0 +1,33 @@
|
||||
digraph ft_send {
|
||||
fontname="Helvetica,Arial,sans-serif"
|
||||
node [fontname="Helvetica,Arial,sans-serif"]
|
||||
edge [fontname="Helvetica,Arial,sans-serif"]
|
||||
|
||||
label="FT1_Receiver";
|
||||
labelloc="t";
|
||||
|
||||
start [label="start | we got FT_INIT"];
|
||||
fail [shape=doublecircle];
|
||||
done [shape=doublecircle];
|
||||
|
||||
// peer offline (how)
|
||||
start -> fail [label="peer offline"]
|
||||
|
||||
start -> starting [label="send FT_INIT_ACK"];
|
||||
starting -> starting [label="if timeout or get FT_INIT send FT_INIT_ACK"];
|
||||
starting -> got_data [label="got FT_DATA"];
|
||||
starting -> fail [label="if timeout too often"];
|
||||
|
||||
got_data -> fail [label="peer offline"];
|
||||
|
||||
subgraph cluster_data {
|
||||
label="for each data chunk";
|
||||
style=filled;
|
||||
|
||||
got_data -> wait_for_all_data [label="send FT_DATA_ACK"];
|
||||
}
|
||||
|
||||
wait_for_all_data -> fail [label="peer offline"];
|
||||
wait_for_all_data -> done [label="all chunks received and acked"];
|
||||
}
|
||||
|
47
ft_send.dot
Normal file
47
ft_send.dot
Normal file
@ -0,0 +1,47 @@
|
||||
digraph ft_send {
|
||||
fontname="Helvetica,Arial,sans-serif"
|
||||
node [fontname="Helvetica,Arial,sans-serif"]
|
||||
edge [fontname="Helvetica,Arial,sans-serif"]
|
||||
|
||||
label="FT1_Sender";
|
||||
labelloc="t";
|
||||
|
||||
//layout=fdp
|
||||
//rankdir = LR
|
||||
|
||||
start;
|
||||
fail [shape=doublecircle];
|
||||
done [shape=doublecircle];
|
||||
|
||||
// peer offline (how)
|
||||
start -> fail [label="peer offline"];
|
||||
|
||||
start -> sent_init [label="send FT_INIT"];
|
||||
|
||||
// peer offline (how)
|
||||
sent_init -> fail [label="peer offline OR timeout too often"];
|
||||
|
||||
sent_init -> sent_init [label="timeout & sentcount <= 3, send FT_INIT"];
|
||||
|
||||
// got an ack after an init
|
||||
sent_init -> have_data [label="got init_ack"]
|
||||
|
||||
subgraph cluster_data {
|
||||
label="for each data chunk";
|
||||
style=filled;
|
||||
//node [style=filled];
|
||||
|
||||
have_data -> data_awaiting_ack [label="send FT_DATA"];
|
||||
data_awaiting_ack -> data_wait_for_all [label="get FT_DATA_ACK"];
|
||||
data_awaiting_ack -> have_data [label="no FT_DATA_ACK"];
|
||||
|
||||
data_wait_for_all;
|
||||
}
|
||||
|
||||
// fail
|
||||
have_data -> fail [label="peer offline"]
|
||||
data_wait_for_all -> fail [label="peer offline"]
|
||||
|
||||
data_wait_for_all -> done [label="all chunks acked"];
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user