1478
|
1 |
|
|
2 |
/* $Id$ */
|
|
3 |
|
|
4 |
digraph sii {
|
|
5 |
node [fontname="Helvetica"]
|
|
6 |
edge [fontname="Helvetica",fontsize=12]
|
|
7 |
|
|
8 |
start [shape=point]
|
|
9 |
start -> query
|
|
10 |
|
|
11 |
query [label="Query all Mailboxes"]
|
|
12 |
query -> check_read
|
|
13 |
|
|
14 |
check_read [shape=diamond,label="Frames to read?"]
|
|
15 |
check_read -> unset_idle_read [label="yes"]
|
|
16 |
check_read -> check_idle_read [label="no"]
|
|
17 |
|
|
18 |
unset_idle_read [label="Reset idle flag"]
|
|
19 |
unset_idle_read -> read
|
|
20 |
|
|
21 |
read [label="Read next segment"]
|
|
22 |
read -> check_read_finished
|
|
23 |
|
|
24 |
check_read_finished [shape=diamond,label="Frame complete?"]
|
|
25 |
check_read_finished -> read [label="no"]
|
|
26 |
check_read_finished -> check_write [label="yes"]
|
|
27 |
|
|
28 |
check_idle_read [shape=diamond,label="Idle flag set?"]
|
|
29 |
check_idle_read -> set_idle_read [label="no"]
|
|
30 |
check_idle_read -> sleep_read [label="yes"]
|
|
31 |
|
|
32 |
set_idle_read [label="Set idle flag"]
|
|
33 |
set_idle_read -> check_write
|
|
34 |
|
|
35 |
sleep_read [label="Sleep"]
|
|
36 |
sleep_read -> check_write
|
|
37 |
|
|
38 |
check_write [shape=diamond,label="Frames to write?"]
|
|
39 |
check_write -> unset_idle_write [label="yes"]
|
|
40 |
check_write -> check_idle_write [label="no"]
|
|
41 |
|
|
42 |
unset_idle_write [label="Reset idle flag"]
|
|
43 |
unset_idle_write -> write
|
|
44 |
|
|
45 |
write [label="Write next segment"]
|
|
46 |
write -> check_write_finished
|
|
47 |
|
|
48 |
check_write_finished [shape=diamond,label="Frame complete?"]
|
|
49 |
check_write_finished -> check_read_remaining [label="yes"]
|
|
50 |
check_write_finished -> write [label="no"]
|
|
51 |
|
|
52 |
check_read_remaining [shape=diamond,label="Remaining segments to read?"]
|
|
53 |
check_read_remaining -> query [label="no"]
|
|
54 |
check_read_remaining -> read [label="yes"]
|
|
55 |
|
|
56 |
check_idle_write [shape=diamond,label="Idle flag set?"]
|
|
57 |
check_idle_write -> set_idle_write [label="no"]
|
|
58 |
check_idle_write -> sleep_write [label="yes"]
|
|
59 |
|
|
60 |
set_idle_write [label="Set idle flag"]
|
|
61 |
set_idle_write -> check_read_remaining
|
|
62 |
|
|
63 |
sleep_write [label="Sleep"]
|
|
64 |
sleep_write -> query
|
|
65 |
|
|
66 |
/*{rank=same; check_read; check_idle_read}
|
|
67 |
{rank=same; unset_idle_read; set_idle_read; sleep_read}
|
|
68 |
{rank=same; check_write; check_idle_write}
|
|
69 |
{rank=same; unset_idle_write; set_idle_write; sleep_write}*/
|
|
70 |
}
|