diff --git a/ft_recv.dot b/ft_recv.dot index 8e8cbca..59f10e2 100644 --- a/ft_recv.dot +++ b/ft_recv.dot @@ -15,15 +15,19 @@ digraph ft_send { 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; - starting -> got_data [label="got FT_DATA"]; + 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"]; }