| 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 {
|
| +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];
|
| +
|
| +}
|
| +
|
|
|