1@startuml
2
3title Activity diagram sbws relays exclusion (V3BWFile.from_results)
4
5start
6:router_statuses_d;
7while (results.items()?)
8    :line, reason = V3BWLine.from_results();
9    if (not reason?) then (yes)
10        :bwlines_raw.append(line);
11    else (no)
12        :bw_lines_excluded.append(line);
13        :exclusion_dict[reason] = exclusion_dict.get(reason, 0) + 1;
14    endif
15endwhile
16:header.add_relays_excluded_counters(exclusion_dict);
17if (not bw_lines_raw?) then (yes)
18    :return (header, bw_lines_excluded);
19    stop
20endif
21if (scaling_method == TORFLOW?) then (yes)
22    :bw_lines = cls.bw_torflow_scale();
23endif
24:return (header, bw_lines + bw_lines_excluded);
25stop
26
27@enduml
28