This repository has been archived on 2023-01-13. You can view files and clone it, but cannot push or open issues or pull requests.
NGC_HS1/ft_send.dot

48 lines
1.1 KiB
Plaintext
Raw Normal View History

2022-10-11 14:13:56 +02:00
digraph ft_send {
fontname="Helvetica,Arial,sans-serif"
node [fontname="Helvetica,Arial,sans-serif"]
edge [fontname="Helvetica,Arial,sans-serif"]
2022-10-14 22:06:49 +02:00
label="FT1_Sender";
labelloc="t";
2022-10-11 14:13:56 +02:00
//layout=fdp
//rankdir = LR
start;
fail [shape=doublecircle];
done [shape=doublecircle];
// peer offline (how)
2022-10-23 01:23:38 +02:00
start -> fail [label="peer offline"];
2022-10-11 14:13:56 +02:00
2022-10-23 01:23:38 +02:00
start -> sent_init [label="send FT_INIT"];
2022-10-11 14:13:56 +02:00
// peer offline (how)
2022-10-23 01:23:38 +02:00
sent_init -> fail [label="peer offline OR timeout too often"];
2022-10-11 14:13:56 +02:00
2022-10-23 01:23:38 +02:00
sent_init -> sent_init [label="timeout & sentcount <= 3, send FT_INIT"];
2022-10-11 14:13:56 +02:00
// got an ack after an init
2022-10-23 01:23:38 +02:00
sent_init -> have_data [label="got init_ack"]
2022-10-11 14:13:56 +02:00
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"];
}