• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1digraph g
2{
3  edge
4    [
5      fontname="Helvetica",
6      fontsize=10,
7      labelfontname="Helvetica",
8      labelfontsize=10
9    ];
10
11  node
12    [
13      fontname="Helvetica",
14      fontsize=10,
15      shape=record
16    ];
17
18  initiator
19    [
20      label="Initiator"
21    ];
22
23  async_processor
24    [
25      label="Asynchronous\nOperation Processor"
26    ];
27
28  async_op
29    [
30      label="Asynchronous\nOperation"
31    ];
32
33  completion_queue
34    [
35      label="Completion\nEvent Queue"
36    ];
37
38  async_event_demuxer
39    [
40      label="Asynchronous\nEvent Demultiplexer"
41    ];
42
43  proactor
44    [
45      label="Proactor"
46    ];
47
48  handler
49    [
50      label="Completion\nHandler"
51    ];
52
53  initiator -> async_processor
54    [
55      label="uses",
56      style="dashed"
57    ];
58
59  initiator -> async_op
60    [
61      label="starts",
62      style="dashed"
63    ];
64
65  initiator -> handler
66    [
67      label="creates",
68      style="dashed"
69    ];
70
71  async_processor -> async_op
72    [
73      label="executes",
74      style="dashed"
75    ];
76
77  async_processor -> completion_queue
78    [
79      label="enqueues",
80      style="dashed"
81    ];
82
83  async_op -> handler;
84
85  async_event_demuxer -> completion_queue
86    [
87      label="dequeues",
88      style="dashed"
89    ];
90
91  proactor -> async_event_demuxer
92    [
93    ];
94
95  proactor -> handler
96    [
97      label="demultiplexes\n& dispatches"
98      style="dashed"
99    ];
100}
101