Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Side by Side Diff: net/docs/url_request.dot

Issue 1859793002: Include class relationship diagrams in network stack documentation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 digraph URLRequestRoot {
2 subgraph cluster_legend {
3 label="Legend";
4
5 ## UML
6 SubClass -> BaseClass [arrowhead="empty"];
7 SubClass -> Interface [arrowhead="empty", style=dashed];
8 Part -> Whole [arrowhead="diamond", label="ownership"];
9 Part -> Whole [arrowhead="odiamond", label="pointer"];
10 A -> B [arrowhead="none", headlabel="?..?", taillabel="?..?",
11 label="association"];
12 Interface [label="Interface / ABC", style=dashed];
13 template_class [shape=diamond]; # Link will name parameter(s)
14
15
16 Factory -> object [arrowhead=veevee];
17 SubClass [label="Derived Class"];
18 };
19
20 URLRequest; // Non-threadsafe, SupportsUserData
21 URLRequestContext;
22 URLRequestJob [style=dashed]; // RC, base::PowerObserver
23 // Many subclasses
24 HttpCache_Transaction [label="HttpCache::Transaction"];
25 HttpStreamFactoryImpl_Request [label="HttpStreamFactoryImpl::Request"];
26 HttpStreamFactoryImpl_Job [label="HttpStreamFactoryImpl::Job"];
27 HttpStreamRequest_Delegate [label="HttpStreamRequest::Delegate",style=da shed];
28 Filter;
29
30 URLRequestContext -> URLRequest [arrowhead=veevee];
31 Filter -> URLRequestJob [arrowhead="diamond"];
32 Filter -> Filter [arrowhead="diamond", taillabel="0..1"];
33 URLRequestHttpJob -> Filter [arrowhead=veevee];
34
35 URLRequestJob -> URLRequest [arrowhead="diamond"];
36
37 URLRequestHttpJob -> URLRequestJob [arrowhead="empty"];
38 // Handles both http & https
39
40 URLRequestJobOthers [label="...others..."];
41 URLRequestJobOthers -> URLRequestJob [arrowhead="empty"];
42
43 // Indirects to network delegate.
44
45 HttpCache;
46 HttpNetworkLayer;
47 HttpTransactionFactory;
48 HttpTransaction [style=dashed];
49 HttpTransaction_Others [label="...others..."];
50 HttpTransaction -> URLRequestHttpJob [arrowhead="diamond"]
51
52 HttpNetworkLayer -> HttpTransactionFactory [arrowhead=empty, style=dashe d];
53
54 HttpStreamFactoryImpl_Job -> HttpStreamFactoryImpl_Request [arrowhead="d iamond",taillabel="1..*"];
55
56 ClientSocketHandle -> {HttpStreamFactoryImpl_Job,HttpBasicState} [arrowh ead="diamond"];
57 ClientSocketPool [style=dashed];
58 ClientSocketPool -> ClientSocketHandle [arrowhead=odiamond];
59
60 {SSLClientSocketPool, TransportClientSocketPool, ClientSocketPool_Others } -> ClientSocketPool [style=dashed, arrowhead=empty];
61 ClientSocketPool_Others [label="...others..."];
62
63 ClientSocketPoolBase -> TransportClientSocketPool [arrowhead=diamond, la bel=TransportSocketParams];
64 ClientSocketPoolBase [label="ClientSocketPoolBase", shape=diamond];
65
66 ClientSocketPoolBaseHelper -> ConnectJob_Delegate [arrowhead=empty, styl e=dashed];
67 ConnectJob [style=dashed];
68 ConnectJob_Delegate [label="ConnectJob::Delegate",style=dashed];
69
70 StreamSocket [style=dashed];
71 StreamSocket -> Socket [arrowhead=empty, style=dashed];
72 TCPClientSocket -> StreamSocket [arrowhead=empty, style=dashed];
73 StreamSocket_others -> StreamSocket [arrowhead=empty, style=dashed];
74 StreamSocket_others [label="...others..."];
75 StreamSocket -> ClientSocketHandle [arrowhead=diamond];
76 ConnectJobFactory -> ClientSocketPoolBase [arrowhead=diamond];
77 subgraph { rank=same; ConnectJobFactory -> ConnectJob [arrowhead=veevee] ;}
78 StreamSocket -> ConnectJob [arrowhead=diamond];
79
80 TransportConnectJob;
81 TransportConnectJobHelper;
82 SingleRequestHostResolver;
83
84 SingleRequestHostResolver -> TransportConnectJobHelper ->
85 TransportConnectJob [arrowhead=diamond];
86
87 {SSLConnectJob, TransportConnectJob, ConnectJob_Others} -> ConnectJob [s tyle=dashed, arrowhead=empty];
88 ConnectJob_Others [label="...others..."];
89
90 ConnectJob_Delegate -> ConnectJob [arrowhead=odiamond];
91 ClientSocketPoolBaseHelper -> ClientSocketPoolBase [arrowhead=diamond];
92
93 subgraph {
94 rank=same;
95 URLRequestJobManager -> URLRequestJob [arrowhead=veevee];
96 }
97
98 TransportClientSocketPool -> ClientSocketHandle [arrowhead=veevee];
99
100 HttpTransactionFactory [style=dashed];
101 HttpCache -> HttpTransactionFactory [arrowhead=empty, style=dashed];
102 HttpTransactionFactory -> HttpTransaction [arrowhead=veevee];
103 HttpNetworkLayer -> HttpNetworkTransaction [arrowhead=veevee];
104 HttpCache -> HttpCache_Transaction [arrowhead=veevee];
105
106 HttpStreamRequest_Delegate -> HttpStreamFactoryImpl_Request [arrowhead= odiamond];
107 subgraph { rank=same; HttpStreamFactoryImpl -> HttpStreamRequest -> Http Stream [arrowhead=veevee];}
108
109 HttpTransaction_Others -> HttpTransaction [style=dashed, arrowhead="empt y"];
110 HttpCache_Transaction -> HttpTransaction [style=dashed, arrowhead="empty "];
111 HttpTransaction -> HttpCache_Transaction [arrowhead=diamond];
112 HttpNetworkTransaction -> HttpTransaction [style=dashed, arrowhead="empt y"];
113
114 HttpStreamRequest [style=dashed];
115 HttpStreamRequest -> HttpNetworkTransaction [arrowhead="diamond"];
116 HttpStream -> HttpNetworkTransaction [arrowhead="diamond"];
117 HttpNetworkTransaction -> HttpStreamRequest_Delegate [style=dashed, arro whead="empty"];
118 HttpStreamFactoryImpl_Request -> HttpStreamRequest [style=dashed, arrowh ead="empty"];
119 HttpStream [style=dashed];
120 HttpBasicState -> HttpBasicStream [arrowhead=diamond];
121 HttpBasicStream -> HttpStream [style=dashed, arrowhead="empty"];
122 QuicHttpStream -> HttpStream [style=dashed, arrowhead="empty"];
123 SpdyHttpStream -> HttpStream [style=dashed, arrowhead="empty"];
124 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698