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

Side by Side Diff: chrome/browser/net/dns_host_info.h

Issue 15076: Clean up dns prefetch code, and also port it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: use scoper for init & free Created 11 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 // A DnsHostInfo object is used to store status of a Dns lookup of a specific 5 // A DnsHostInfo object is used to store status of a Dns lookup of a specific
6 // hostname. 6 // hostname.
7 // It includes progress, from placement in the DnsMaster's queue, to assignment 7 // It includes progress, from placement in the DnsMaster's queue, to resolution
8 // to a slave, to resolution by the (blocking) DNS service as either FOUND or 8 // by the DNS service as either FOUND or NO_SUCH_NAME.
9 // NO_SUCH_NAME.
10 9
11 #ifndef CHROME_BROWSER_NET_DNS_HOST_INFO_H_ 10 #ifndef CHROME_BROWSER_NET_DNS_HOST_INFO_H_
12 #define CHROME_BROWSER_NET_DNS_HOST_INFO_H_ 11 #define CHROME_BROWSER_NET_DNS_HOST_INFO_H_
13 12
14 #include <string> 13 #include <string>
15 #include <vector> 14 #include <vector>
16 15
17 #include "base/logging.h" 16 #include "base/logging.h"
18 #include "base/time.h" 17 #include "base/time.h"
19 #include "googleurl/src/gurl.h" 18 #include "googleurl/src/gurl.h"
(...skipping 27 matching lines...) Expand all
47 // The following involve predictive prefetching, triggered by a navigation. 46 // The following involve predictive prefetching, triggered by a navigation.
48 // The referring_hostname_ is also set when these are used. 47 // The referring_hostname_ is also set when these are used.
49 // TODO(jar): Support STATIC_REFERAL_MOTIVATED API and integration. 48 // TODO(jar): Support STATIC_REFERAL_MOTIVATED API and integration.
50 STATIC_REFERAL_MOTIVATED, // External database suggested this resolution. 49 STATIC_REFERAL_MOTIVATED, // External database suggested this resolution.
51 LEARNED_REFERAL_MOTIVATED, // Prior navigation taught us this resolution. 50 LEARNED_REFERAL_MOTIVATED, // Prior navigation taught us this resolution.
52 }; 51 };
53 52
54 enum DnsProcessingState { 53 enum DnsProcessingState {
55 // When processed by our prefetching system, the states are: 54 // When processed by our prefetching system, the states are:
56 PENDING, // Constructor has completed. 55 PENDING, // Constructor has completed.
57 QUEUED, // In prefetch queue but not yet assigned to a slave. 56 QUEUED, // In prefetch queue but not yet being resolved.
58 ASSIGNED, // Currently being processed by a slave. 57 ASSIGNED, // Currently being processed.
59 ASSIGNED_BUT_MARKED, // Needs to be deleted as soon as slave is done. 58 ASSIGNED_BUT_MARKED, // Needs to be deleted as soon as it's resolved.
60 FOUND, // DNS prefetch search completed. 59 FOUND, // DNS prefetch search completed.
61 NO_SUCH_NAME, // DNS prefetch search completed. 60 NO_SUCH_NAME, // DNS prefetch search completed.
62 // When processed by the network stack during navigation, the states are: 61 // When processed by the network stack during navigation, the states are:
63 STARTED, // Resolution has begun for a navigation. 62 STARTED, // Resolution has begun for a navigation.
64 FINISHED, // Resolution has completed for a navigation. 63 FINISHED, // Resolution has completed for a navigation.
65 FINISHED_UNRESOLVED}; // No resolution found, so navigation will fail. 64 FINISHED_UNRESOLVED}; // No resolution found, so navigation will fail.
66 static const base::TimeDelta kMaxNonNetworkDnsLookupDuration; 65 static const base::TimeDelta kMaxNonNetworkDnsLookupDuration;
67 // The number of OS cache entries we can guarantee(?) before cache eviction 66 // The number of OS cache entries we can guarantee(?) before cache eviction
68 // might likely take place. 67 // might likely take place.
69 static const int kMaxGuaranteedCacheSize = 50; 68 static const int kMaxGuaranteedCacheSize = 50;
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 std::string referring_hostname_; 184 std::string referring_hostname_;
186 185
187 // We put these objects into a std::map, and hence we 186 // We put these objects into a std::map, and hence we
188 // need some "evil" constructors. 187 // need some "evil" constructors.
189 // DISALLOW_COPY_AND_ASSIGN(DnsHostInfo); 188 // DISALLOW_COPY_AND_ASSIGN(DnsHostInfo);
190 }; 189 };
191 190
192 } // namespace chrome_browser_net 191 } // namespace chrome_browser_net
193 192
194 #endif // CHROME_BROWSER_NET_DNS_HOST_INFO_H_ 193 #endif // CHROME_BROWSER_NET_DNS_HOST_INFO_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698