Chromium Code Reviews| Index: net/docs/pools.dot |
| diff --git a/net/docs/pools.dot b/net/docs/pools.dot |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8568bb9d0fbbb03db7137cd546ca4d336e8e7969 |
| --- /dev/null |
| +++ b/net/docs/pools.dot |
| @@ -0,0 +1,109 @@ |
| +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
|
| +subgraph cluster_legend { |
| + label="legend"; |
| + a; |
| + factory; |
| + derived_class; |
| + pure_ABC [style=dotted]; |
| + mixed_ABC [style=dashed]; |
| + template_class [shape=diamond]; # Link will name parameter(s) |
| + |
| + whole; |
| + |
| + whole -> referenced_part # Raw pointer |
| + [dir=back, arrowhead=none, arrowtail=odiamond]; |
| + |
| + whole -> owned_part # Member of scoped_ptr<> |
| + [dir=back, arrowhead=none, arrowtail=diamond]; |
| + |
| + whole -> reference_counted_semi_owned_part |
| + [dir=back, arrowhead=none, arrowtail=diamond, color=red]; |
| + |
| + derived_class -> base_class |
| + [dir=both, arrowhead=empty, arrowtail=none]; |
| + |
| + derived_class -> pure_ABC |
| + [dir=both, arrowhead=empty, arrowtail=none, style=dashed]; |
| + |
| + # May want to put inside rank=same subgraph. |
| + factory -> generated_object [arrowhead=veevee, weight=0]; |
| + |
| + a -> b [headlabel="0..*", taillabel="1..*", |
| + label="associated with", |
| + arrowhead="none"]; |
| + |
| + |
| +}; |
| + |
| + |
| + |
| + ConnectJob [style=dashed]; |
| + ConnectJob_Delegate [style=dotted, label="ConnectJob::Delegate"]; |
| + ClientSocketPoolBaseHelper; |
| + |
| + ClientSocketPoolBase [shape=diamond]; |
| + HigherLayeredPool [style=dotted]; |
| + LowerLayeredPool [style=dotted]; |
| + ClientSocketPool [style=dotted]; |
| + TransportSocketParams; # RC |
| + TransportConnectJobHelper; |
| + TransportConnectJob; |
| + ClientSocketPoolBaseHelper_ConnectJobFactory |
| + [style=dotted, label="ClientSocketPoolBaseHelper::\nConnectJobFactory"]; |
| + ClientSocketPoolBase_ConnectJobFactory |
| + [style=dotted, shape=diamond, |
| + label="ClientSocketPoolBase::\nConnectJobFactory"]; |
| + TransportConnectJobFactory; |
| + ClientSocketPoolBase_ConnectJobFactoryAdaptor |
| + [shape=diamond, |
| + label="ClientSocketPoolBase::\nConnectJobFactoryAdaptor"]; |
| + |
| + ClientSocketPoolBase_ConnectJobFactoryAdaptor -> |
| + ClientSocketPoolBaseHelper_ConnectJobFactory |
| + [dir=both, arrowhead=empty, arrowtail=none]; |
| + |
| + ClientSocketPoolBase_ConnectJobFactoryAdaptor -> |
| + ClientSocketPoolBase_ConnectJobFactory |
| + [dir=back, arrowhead=none, arrowtail=diamond]; |
| + |
| + TransportConnectJobFactory -> ClientSocketPoolBase_ConnectJobFactory |
| + [dir=both, arrowhead=empty, arrowtail=none, |
| + label="TransportSocketParams"] |
| + |
| + TransportConnectJob -> ConnectJob |
| + [dir=both, arrowhead=empty, arrowtail=none]; |
| + |
| + ClientSocketPoolBaseHelper -> ConnectJob_Delegate |
| + [arrowtail=none, arrowhead=empty, dir=both]; |
| + ClientSocketPool -> LowerLayeredPool |
| + [arrowtail=none, arrowhead=empty, dir=both]; |
| + |
| + ClientSocketPoolBaseHelper -> HigherLayeredPool |
| + [dir=back, arrowhead=none, arrowtail=odiamond, headlabel="*"]; |
| + ClientSocketPoolBaseHelper -> LowerLayeredPool |
| + [dir=back, arrowhead=none, arrowtail=odiamond, headlabel="*"]; |
| + ClientSocketPoolBaseHelper -> ClientSocketPoolBaseHelper_ConnectJobFactory |
| + [dir=back, arrowhead=none, arrowtail=diamond]; |
| + ClientSocketPoolBase -> ClientSocketPoolBaseHelper |
| + [dir=back, arrowhead=none, arrowtail=diamond]; |
| + |
| + TransportConnectJobHelper -> TransportSocketParams |
| + [dir=back, arrowhead=none, arrowtail=diamond, color=red]; |
| + |
| + TransportConnectJob -> TransportConnectJobHelper |
| + [dir=back, arrowhead=none, arrowtail=diamond]; |
| + |
| + TransportClientSocketPool -> ClientSocketPool |
| + [dir=both, arrowhead=empty, arrowtail=none]; |
| + |
| + TransportClientSocketPool -> ClientSocketPoolBase |
| + [dir=back, arrowhead=none, arrowtail=diamond, |
| + label="TransportSocketParams"]; |
| + ClientSocketPoolBaseHelper_ConnectJobFactory -> ConnectJob [arrowhead=veevee]; |
| + ClientSocketPoolBase_ConnectJobFactory -> ConnectJob [arrowhead=veevee]; |
| + |
| + ConnectJob -> ConnectJob_Delegate |
| + [dir=back, arrowhead=none, arrowtail=odiamond]; |
| + |
| +} |
| + |