blob: 658240bbd394a9a84366c47ee596a8e32ff1ce3f [file] [log] [blame]
Will Drewryc45952f2013-09-03 13:51:24 -05001/* This DOT file represents the logical interaction between
2 * the events in the system and the "state" of tlsdated.
3 */
4digraph tlsdated {
5 graph[compound=true];
6
7 node[style=filled,color=lightblue];
8
9 subgraph cluster_states {
10 state_label[shape=box,style=dashed,label="States"];
11 sleep -> wake;
12 wake -> sync;
13 sync -> save;
14 save -> sleep;
15 wake -> terminate;
16 sync -> terminate;
17 save -> terminate;
18 }
19
20 subgraph cluster_wake {
21 color=purple;
22 style=filled;
23 wake_label[shape=box,style=dashed,label="Wake Events"];
24 periodic_local_clock_check -> wake;
25 periodic_network_sync -> wake;
26 random_sigterm -> wake;
27 random_route_change -> wake;
28 }
29
30 subgraph cluster_dbus {
31 dbus_label[shape=box,style=dashed,label="DBus Events"];
32 dbus-> cros_shill_manager_change -> wake;
33 dbus-> cros_shill_service_change -> wake;
34 dbus -> cros_proxy_resolved -> {proxy_ok, proxy_failed};
35 dbus -> cros_user_set_time -> save;
36 cros_user_set_time -> sync [style=dotted];
37 get_proxy -> cros_resolve_proxy -> dbus;
38 announce -> dbus;
39 }
40
41 subgraph cluster_sync {
42 sync_label[shape=box,style=dashed,label="Network Sync"];
43 sync -> get_proxy -> {proxy_ok, proxy_failed, proxy_timed_out} -> tlsdate;
44 tlsdate -> tlsdate_ok -> save;
45 tlsdate -> tlsdate_fail;
46 tlsdate_fail -> tlsdate [label="retry",style=dotted];
47 tlsdate_fail -> terminate;
48 };
49
50 subgraph cluster_save {
51 save_label[shape=box,style=dashed,label="Save to the system"];
52 save -> { synchronize_rtc, synchronize_kernel, synchronize_disk } -> { save_ok, save_fail, save_bad_time };
53 save_ok -> announce -> sleep;
54 save_fail -> terminate;
55 save_bad_time -> sleep;
56 }
57}
58