OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_BASE_LOAD_TIMING_INFO_H_ | 5 #ifndef NET_BASE_LOAD_TIMING_INFO_H_ |
6 #define NET_BASE_LOAD_TIMING_INFO_H_ | 6 #define NET_BASE_LOAD_TIMING_INFO_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
10 #include "net/base/net_export.h" | 10 #include "net/base/net_export.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 // ssl_start | 33 // ssl_start |
34 // ssl_end | 34 // ssl_end |
35 // connect_end | 35 // connect_end |
36 // send_start | 36 // send_start |
37 // send_end | 37 // send_end |
38 // receive_headers_end | 38 // receive_headers_end |
39 // | 39 // |
40 // Times represent when a request starts/stops blocking on an event, not the | 40 // Times represent when a request starts/stops blocking on an event, not the |
41 // time the events actually occurred. In particular, in the case of preconnects | 41 // time the events actually occurred. In particular, in the case of preconnects |
42 // and socket reuse, no time may be spent blocking on establishing a connection. | 42 // and socket reuse, no time may be spent blocking on establishing a connection. |
43 // In the case of SPDY and HTTP pipelining, PAC scripts are only run once for | 43 // In the case of SPDY, PAC scripts are only run once for each shared session, |
44 // each shared session, so no time may be spent blocking on them. | 44 // so no time may be spent blocking on them. |
45 // | 45 // |
46 // DNS and SSL times are both times for the host, not the proxy, so DNS times | 46 // DNS and SSL times are both times for the host, not the proxy, so DNS times |
47 // when using proxies are null, and only requests to HTTPS hosts (Not proxies) | 47 // when using proxies are null, and only requests to HTTPS hosts (Not proxies) |
48 // have SSL times. One exception to this is when a proxy server itself returns | 48 // have SSL times. One exception to this is when a proxy server itself returns |
49 // a redirect response. In this case, the connect times treat the proxy as the | 49 // a redirect response. In this case, the connect times treat the proxy as the |
50 // host. The send and receive times will all be null, however. | 50 // host. The send and receive times will all be null, however. |
51 // See HttpNetworkTransaction::OnHttpsProxyTunnelResponse. | 51 // See HttpNetworkTransaction::OnHttpsProxyTunnelResponse. |
52 // TODO(mmenke): Is this worth fixing? | 52 // TODO(mmenke): Is this worth fixing? |
53 // | 53 // |
54 // Note that internal to the network stack, times are when events actually | 54 // Note that internal to the network stack, times are when events actually |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 base::TimeTicks send_start; | 132 base::TimeTicks send_start; |
133 base::TimeTicks send_end; | 133 base::TimeTicks send_end; |
134 | 134 |
135 // The time at which the end of the HTTP headers were received. | 135 // The time at which the end of the HTTP headers were received. |
136 base::TimeTicks receive_headers_end; | 136 base::TimeTicks receive_headers_end; |
137 }; | 137 }; |
138 | 138 |
139 } // namespace net | 139 } // namespace net |
140 | 140 |
141 #endif // NET_BASE_LOAD_TIMING_INFO_H_ | 141 #endif // NET_BASE_LOAD_TIMING_INFO_H_ |
OLD | NEW |