OLD | NEW |
---|---|
(Empty) | |
1 digraph SocketPools { | |
eroman
2016/04/04 21:29:18
does this need a liscence header at the top?
Randy Smith (Not in Mondays)
2016/04/04 21:44:50
Probably. I'll put it on my todo list, for when I
| |
2 subgraph cluster_legend { | |
3 label="legend"; | |
4 a; | |
5 factory; | |
6 derived_class; | |
7 pure_ABC [style=dotted]; | |
8 mixed_ABC [style=dashed]; | |
9 template_class [shape=diamond]; # Link will name parameter(s) | |
10 | |
11 whole; | |
12 | |
13 whole -> referenced_part # Raw pointer | |
14 [dir=back, arrowhead=none, arrowtail=odiamond]; | |
15 | |
16 whole -> owned_part # Member of scoped_ptr<> | |
17 [dir=back, arrowhead=none, arrowtail=diamond]; | |
18 | |
19 whole -> reference_counted_semi_owned_part | |
20 [dir=back, arrowhead=none, arrowtail=diamond, color=red]; | |
21 | |
22 derived_class -> base_class | |
23 [dir=both, arrowhead=empty, arrowtail=none]; | |
24 | |
25 derived_class -> pure_ABC | |
26 [dir=both, arrowhead=empty, arrowtail=none, style=dashed]; | |
27 | |
28 # May want to put inside rank=same subgraph. | |
29 factory -> generated_object [arrowhead=veevee, weight=0]; | |
30 | |
31 a -> b [headlabel="0..*", taillabel="1..*", | |
32 label="associated with", | |
33 arrowhead="none"]; | |
34 | |
35 | |
36 }; | |
37 | |
38 | |
39 | |
40 ConnectJob [style=dashed]; | |
41 ConnectJob_Delegate [style=dotted, label="ConnectJob::Delegate"]; | |
42 ClientSocketPoolBaseHelper; | |
43 | |
44 ClientSocketPoolBase [shape=diamond]; | |
45 HigherLayeredPool [style=dotted]; | |
46 LowerLayeredPool [style=dotted]; | |
47 ClientSocketPool [style=dotted]; | |
48 TransportSocketParams; # RC | |
49 TransportConnectJobHelper; | |
50 TransportConnectJob; | |
51 ClientSocketPoolBaseHelper_ConnectJobFactory | |
52 [style=dotted, label="ClientSocketPoolBaseHelper::\nConnectJobFactory"]; | |
53 ClientSocketPoolBase_ConnectJobFactory | |
54 [style=dotted, shape=diamond, | |
55 label="ClientSocketPoolBase::\nConnectJobFactory"]; | |
56 TransportConnectJobFactory; | |
57 ClientSocketPoolBase_ConnectJobFactoryAdaptor | |
58 [shape=diamond, | |
59 label="ClientSocketPoolBase::\nConnectJobFactoryAdaptor"]; | |
60 | |
61 ClientSocketPoolBase_ConnectJobFactoryAdaptor -> | |
62 ClientSocketPoolBaseHelper_ConnectJobFactory | |
63 [dir=both, arrowhead=empty, arrowtail=none]; | |
64 | |
65 ClientSocketPoolBase_ConnectJobFactoryAdaptor -> | |
66 ClientSocketPoolBase_ConnectJobFactory | |
67 [dir=back, arrowhead=none, arrowtail=diamond]; | |
68 | |
69 TransportConnectJobFactory -> ClientSocketPoolBase_ConnectJobFactory | |
70 [dir=both, arrowhead=empty, arrowtail=none, | |
71 label="TransportSocketParams"] | |
72 | |
73 TransportConnectJob -> ConnectJob | |
74 [dir=both, arrowhead=empty, arrowtail=none]; | |
75 | |
76 ClientSocketPoolBaseHelper -> ConnectJob_Delegate | |
77 [arrowtail=none, arrowhead=empty, dir=both]; | |
78 ClientSocketPool -> LowerLayeredPool | |
79 [arrowtail=none, arrowhead=empty, dir=both]; | |
80 | |
81 ClientSocketPoolBaseHelper -> HigherLayeredPool | |
82 [dir=back, arrowhead=none, arrowtail=odiamond, headlabel="*"]; | |
83 ClientSocketPoolBaseHelper -> LowerLayeredPool | |
84 [dir=back, arrowhead=none, arrowtail=odiamond, headlabel="*"]; | |
85 ClientSocketPoolBaseHelper -> ClientSocketPoolBaseHelper_ConnectJobFactory | |
86 [dir=back, arrowhead=none, arrowtail=diamond]; | |
87 ClientSocketPoolBase -> ClientSocketPoolBaseHelper | |
88 [dir=back, arrowhead=none, arrowtail=diamond]; | |
89 | |
90 TransportConnectJobHelper -> TransportSocketParams | |
91 [dir=back, arrowhead=none, arrowtail=diamond, color=red]; | |
92 | |
93 TransportConnectJob -> TransportConnectJobHelper | |
94 [dir=back, arrowhead=none, arrowtail=diamond]; | |
95 | |
96 TransportClientSocketPool -> ClientSocketPool | |
97 [dir=both, arrowhead=empty, arrowtail=none]; | |
98 | |
99 TransportClientSocketPool -> ClientSocketPoolBase | |
100 [dir=back, arrowhead=none, arrowtail=diamond, | |
101 label="TransportSocketParams"]; | |
102 ClientSocketPoolBaseHelper_ConnectJobFactory -> ConnectJob [arrowhead=veevee ]; | |
103 ClientSocketPoolBase_ConnectJobFactory -> ConnectJob [arrowhead=veevee]; | |
104 | |
105 ConnectJob -> ConnectJob_Delegate | |
106 [dir=back, arrowhead=none, arrowtail=odiamond]; | |
107 | |
108 } | |
109 | |
OLD | NEW |