Index: net/base/load_timing_info.h |
diff --git a/net/base/load_timing_info.h b/net/base/load_timing_info.h |
deleted file mode 100644 |
index 00dbabf55dc2a77e09f5395ad9f487770392505a..0000000000000000000000000000000000000000 |
--- a/net/base/load_timing_info.h |
+++ /dev/null |
@@ -1,141 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef NET_BASE_LOAD_TIMING_INFO_H_ |
-#define NET_BASE_LOAD_TIMING_INFO_H_ |
- |
-#include "base/basictypes.h" |
-#include "base/time/time.h" |
-#include "net/base/net_export.h" |
- |
-namespace net { |
- |
-// Structure containing timing information for a request. |
-// It addresses the needs of |
-// http://groups.google.com/group/http-archive-specification/web/har-1-1-spec, |
-// http://dev.w3.org/2006/webapi/WebTiming/, and |
-// http://www.w3.org/TR/resource-timing/. |
-// |
-// All events that do not apply to a request have null times. For non-HTTP |
-// requests, all times other than the request_start times are null. |
-// |
-// Requests with connection errors generally only have request start times as |
-// well, since they never received an established socket. |
-// |
-// The general order for events is: |
-// request_start |
-// proxy_start |
-// proxy_end |
-// dns_start |
-// dns_end |
-// connect_start |
-// ssl_start |
-// ssl_end |
-// connect_end |
-// send_start |
-// send_end |
-// receive_headers_end |
-// |
-// Times represent when a request starts/stops blocking on an event, not the |
-// time the events actually occurred. In particular, in the case of preconnects |
-// and socket reuse, no time may be spent blocking on establishing a connection. |
-// In the case of SPDY, PAC scripts are only run once for each shared session, |
-// so no time may be spent blocking on them. |
-// |
-// DNS and SSL times are both times for the host, not the proxy, so DNS times |
-// when using proxies are null, and only requests to HTTPS hosts (Not proxies) |
-// have SSL times. One exception to this is when a proxy server itself returns |
-// a redirect response. In this case, the connect times treat the proxy as the |
-// host. The send and receive times will all be null, however. |
-// See HttpNetworkTransaction::OnHttpsProxyTunnelResponse. |
-// TODO(mmenke): Is this worth fixing? |
-// |
-// Note that internal to the network stack, times are when events actually |
-// occurred. URLRequest converts them to time which the network stack was |
-// blocked on each state. |
-struct NET_EXPORT LoadTimingInfo { |
- // Contains the LoadTimingInfo events related to establishing a connection. |
- // These are all set by ConnectJobs. |
- struct NET_EXPORT_PRIVATE ConnectTiming { |
- ConnectTiming(); |
- ~ConnectTiming(); |
- |
- // The time spent looking up the host's DNS address. Null for requests that |
- // used proxies to look up the DNS address. Also null for SOCKS4 proxies, |
- // since the DNS address is only looked up after the connection is |
- // established, which results in unexpected event ordering. |
- // TODO(mmenke): The SOCKS4 event ordering could be refactored to allow |
- // these times to be non-null. |
- base::TimeTicks dns_start; |
- base::TimeTicks dns_end; |
- |
- // The time spent establishing the connection. Connect time includes proxy |
- // connect times (Though not proxy_resolve times), DNS lookup times, time |
- // spent waiting in certain queues, TCP, and SSL time. |
- // TODO(mmenke): For proxies, this includes time spent blocking on higher |
- // level socket pools. Fix this. |
- // TODO(mmenke): Retried connections to the same server should apparently |
- // be included in this time. Consider supporting that. |
- // Since the network stack has multiple notions of a "retry", |
- // handled at different levels, this may not be worth |
- // worrying about - backup jobs, reused socket failure, |
- // multiple round authentication. |
- base::TimeTicks connect_start; |
- base::TimeTicks connect_end; |
- |
- // The time when the SSL handshake started / completed. For non-HTTPS |
- // requests these are null. These times are only for the SSL connection to |
- // the final destination server, not an SSL/SPDY proxy. |
- base::TimeTicks ssl_start; |
- base::TimeTicks ssl_end; |
- }; |
- |
- LoadTimingInfo(); |
- ~LoadTimingInfo(); |
- |
- // True if the socket was reused. When true, DNS, connect, and SSL times |
- // will all be null. When false, those times may be null, too, for non-HTTP |
- // requests, or when they don't apply to a request. |
- // |
- // For requests that are sent again after an AUTH challenge, this will be true |
- // if the original socket is reused, and false if a new socket is used. |
- // Responding to a proxy AUTH challenge is never considered to be reusing a |
- // socket, since a connection to the host wasn't established when the |
- // challenge was received. |
- bool socket_reused; |
- |
- // Unique socket ID, can be used to identify requests served by the same |
- // socket. For connections tunnelled over SPDY proxies, this is the ID of |
- // the virtual connection (The SpdyProxyClientSocket), not the ID of the |
- // actual socket. HTTP requests handled by the SPDY proxy itself all use the |
- // actual socket's ID. |
- // |
- // 0 when there is no socket associated with the request, or it's not an HTTP |
- // request. |
- uint32 socket_log_id; |
- |
- // Start time as a base::Time, so times can be coverted into actual times. |
- // Other times are recorded as TimeTicks so they are not affected by clock |
- // changes. |
- base::Time request_start_time; |
- |
- base::TimeTicks request_start; |
- |
- // The time spent determing which proxy to use. Null when there is no PAC. |
- base::TimeTicks proxy_resolve_start; |
- base::TimeTicks proxy_resolve_end; |
- |
- ConnectTiming connect_timing; |
- |
- // The time that sending HTTP request started / ended. |
- base::TimeTicks send_start; |
- base::TimeTicks send_end; |
- |
- // The time at which the end of the HTTP headers were received. |
- base::TimeTicks receive_headers_end; |
-}; |
- |
-} // namespace net |
- |
-#endif // NET_BASE_LOAD_TIMING_INFO_H_ |