[M94 Dev][Tizen] Fix for compiler and linker errors
[platform/framework/web/chromium-efl.git] / net / docs / pools.dot
1 digraph SocketPools {
2     subgraph cluster_legend {
3         label="Legend";
4
5         ## The following legend is an attempt to match UML notation,
6         ## except for template_class and Factory->object, which are
7         ## invented for this diagram.
8         BaseClass;
9         SubClass [label="Derived Class"];
10         Whole;
11         Part;
12         A;
13         B;
14         Interface [label="Interface / ABC", style=dashed];
15         template_class [shape=diamond]; # Link will name parameter(s)
16
17         SubClass -> BaseClass [arrowhead="empty"];
18         SubClass -> Interface [arrowhead="empty", style=dashed];
19         Part -> Whole [arrowhead="diamond", label="ownership"];
20         Part -> Whole [arrowhead="odiamond", label="pointer"];
21         RefCountedPart -> Whole [arrowhead="diamond", color=red,
22                                  label="partial\nownership"];
23         A -> B [arrowhead="none", headlabel="?..?", taillabel="?..?",
24                 label="association"];
25         // Often a "subgraph { rank=same; .. }" is used to wrap the
26         // below to make the generative relationship distinctive
27         // from the other class relationships.
28         Factory -> object [arrowhead=veevee];
29     };
30
31     ClientSocketPoolBase [shape=diamond];
32     ClientSocketPoolBaseHelper;
33
34     ClientSocketPoolBaseHelper_ConnectJobFactory
35         [style=dotted, label="ClientSocketPoolBaseHelper::\nConnectJobFactory"];
36     ClientSocketPoolBase_ConnectJobFactory
37         [style=dotted, shape=diamond,
38          label="ClientSocketPoolBase::\nConnectJobFactory"];
39     ClientSocketPoolBase_ConnectJobFactoryAdaptor
40         [shape=diamond,
41          label="ClientSocketPoolBase::\nConnectJobFactoryAdaptor"];
42
43     HigherLayeredPool [style=dotted];
44     LowerLayeredPool [style=dotted];
45     ClientSocketPool [style=dotted];
46
47     ConnectJob [style=dashed];
48     ConnectJob_Delegate [style=dotted, label="ConnectJob::Delegate"];
49
50     ClientSocketFactory [style=dotted];
51     DefaultClientSocketFactory;
52     TCPClientSocket;
53     StreamSocket [style=dotted]
54     Socket;
55
56     TransportSocketParams;
57     TransportConnectJobHelper;
58     TransportConnectJobFactory;
59     TransportConnectJob;
60
61     TransportClientSocketPool -> ClientSocketPool [arrowhead=empty];
62     ClientSocketPool -> LowerLayeredPool [arrowhead=empty];
63     ClientSocketPoolBaseHelper -> ConnectJob_Delegate [arrowhead=empty];
64     TransportConnectJobFactory -> ClientSocketPoolBase_ConnectJobFactory
65         [arrowhead=empty, label="TransportSocketParams"];
66     ClientSocketPoolBase_ConnectJobFactoryAdaptor ->
67         ClientSocketPoolBaseHelper_ConnectJobFactory
68             [arrowhead=empty, arrowtail=none];
69     TransportConnectJob -> ConnectJob [arrowhead=empty];
70     DefaultClientSocketFactory -> ClientSocketFactory [arrowhead=empty];
71     StreamSocket -> Socket [arrowhead=empty]
72     TCPClientSocket -> StreamSocket [arrowhead=empty]
73
74     ClientSocketPoolBaseHelper -> ClientSocketPoolBase [arrowhead=diamond];
75     ClientSocketPoolBase -> TransportClientSocketPool
76         [arrowhead=diamond, label="TransportSocketParams"];
77     ClientSocketPoolBase_ConnectJobFactory ->
78         ClientSocketPoolBase_ConnectJobFactoryAdaptor [arrowhead=diamond];
79     ClientSocketPoolBaseHelper_ConnectJobFactory -> 
80         ClientSocketPoolBaseHelper [arrowhead=diamond];
81     TransportConnectJobHelper -> TransportConnectJob [arrowhead=diamond];
82     TransportSocketParams -> TransportConnectJobHelper
83         [arrowhead=diamond, color=red];
84
85     ConnectJob -> ConnectJob_Delegate
86         [dir=back, arrowhead=none, arrowtail=odiamond];
87     HigherLayeredPool -> ClientSocketPoolBaseHelper
88         [arrowhead=odiamond, taillabel="*"];
89     LowerLayeredPool -> ClientSocketPoolBaseHelper
90         [arrowhead=odiamond, taillabel="*"];
91     ClientSocketFactory -> ClientSocketPoolBaseHelper [arrowhead=odiamond];
92
93     subgraph {
94         rank=same;
95         ClientSocketPoolBaseHelper_ConnectJobFactory -> ConnectJob
96             [arrowhead=veevee];
97     }
98     ClientSocketPoolBase_ConnectJobFactory -> ConnectJob [arrowhead=veevee];
99     ClientSocketFactory -> TCPClientSocket [arrowhead=veevee]
100 }
101