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

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

Issue 13270005: Display DNS probe results. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix one last nit Created 7 years, 5 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
« no previous file with comments | « chrome/browser/net/dns_probe_browsertest.cc ('k') | chrome/browser/net/dns_probe_job.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_NET_DNS_PROBE_JOB_H_
6 #define CHROME_BROWSER_NET_DNS_PROBE_JOB_H_
7
8 #include "base/basictypes.h"
9 #include "base/bind.h"
10 #include "base/memory/scoped_ptr.h"
11
12 namespace net {
13 class DnsClient;
14 class NetLog;
15 }
16
17 namespace chrome_browser_net {
18
19 // A job to probe the health of a DNS configuration.
20 class DnsProbeJob {
21 public:
22 enum Result {
23 SERVERS_UNKNOWN,
24 SERVERS_CORRECT, // Server responds with correct answers.
25 SERVERS_INCORRECT, // Server responds with success but incorrect answer.
26 // TODO(ttuttle): Do we want an "unreliable" result, for e.g. servers that
27 // lie about NXDOMAIN?
28 SERVERS_FAILING, // Server responds with errors.
29 SERVERS_UNREACHABLE, // Server doesn't respond (or never got our packets)
30 MAX_RESULT
31 };
32 typedef base::Callback<void(DnsProbeJob* job, Result result)> CallbackType;
33
34 virtual ~DnsProbeJob() { }
35
36 // Creates and starts a probe job.
37 //
38 // |dns_client| should be a DnsClient with the DnsConfig already set.
39 // |callback| will be called when the probe finishes, which may happen
40 // before the constructor returns (for example, if we can't create the DNS
41 // transactions).
42 static scoped_ptr<DnsProbeJob> CreateJob(
43 scoped_ptr<net::DnsClient> dns_client,
44 const CallbackType& callback,
45 net::NetLog* net_log);
46
47 protected:
48 DnsProbeJob() { }
49
50 DISALLOW_COPY_AND_ASSIGN(DnsProbeJob);
51 };
52
53 } // namespace chrome_browser_net
54
55 #endif // CHROME_BROWSER_NET_DNS_PROBE_JOB_H_
OLDNEW
« no previous file with comments | « chrome/browser/net/dns_probe_browsertest.cc ('k') | chrome/browser/net/dns_probe_job.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698