]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/asio/doc/overview/async_op2.dot
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / asio / doc / overview / async_op2.dot
1 digraph g
2 {
3 graph
4 [
5 nodesep="0.2"
6 ];
7
8 edge
9 [
10 fontname="Helvetica",
11 fontsize=10,
12 labelfontname="Helvetica",
13 labelfontsize=10
14 ];
15
16 node
17 [
18 fontname="Helvetica",
19 fontsize=10,
20 shape=box
21 ];
22
23 edge
24 [
25 arrowhead="open"
26 ]
27
28 // Program elements.
29 {
30 operating_system [ label="Operating System", shape=ellipse ];
31 io_service [ label="io_service" ];
32 io_object [ label="I/O Object\ne.g. socket" ];
33 your_program [ label="Your Program" ];
34 your_completion_handler [ label="Your Completion Handler" ];
35 }
36
37 // Owning relationships.
38 {
39 edge [ arrowtail="diamond" ];
40 your_program:e -> your_completion_handler:n;
41 your_program:w -> io_object:nw;
42 your_program:se -> io_service:ne;
43 }
44
45 // Non-owning relationships;
46 {
47 io_object:sw -> io_service:w;
48 }
49
50 // Visible actions.
51 {
52 edge [ style="dashed", color="#808080" ];
53
54 // Forward actions.
55 {
56 your_program:s -> io_service:n [ label="5" ];
57 }
58
59 // Reverse actions.
60 {
61 edge [ arrowhead="none", arrowtail="open" ];
62 io_service:s -> operating_system:n [ label="4" ];
63 your_completion_handler:s -> io_service:e [ label="6" ];
64 }
65 }
66
67 // Invisible actions.
68 {
69 edge [ style="invis" ];
70
71 // Forward actions.
72 {
73 your_program:sw -> io_object:n [ label="1" ];
74 io_object:s -> io_service:nw [ label="2" ];
75 //io_service:s -> operating_system:n [ label="3" ];
76 }
77 }
78 }