Lines Matching full:net
32 Some general utilities are also available in [`/net/dns/public/`](/net/dns/public/)
35 the code in [`/net/dns/`](/net/dns/).
40 resolution goes through [`net::HostResolver`](/net/dns/host_resolver.h),
41 retrieved from [`net::URLRequestContext`](/net/url_request/url_request_context.h).
47 `net::HostResolver::CreateStandaloneResolver()`.
53 [`net::MockHostResolver`](/net/dns/mock_host_resolver.h)
55 Tests with the ability to inject and replace the used `net::HostResolver` should
56 replace it with a `net::MockHostResolver`, allowing rule-based results.
57 `net::MockCachingHostResolver` is the same except it includes basic support for
58 the caching functionality normally done by prod `net::HostResolver`s.
60 Some tests may also find `net::HangingHostResolver` useful. It will begin host
70 and returns `net::ERR_NAME_NOT_RESOLVED` for other hostnames. Allows setting rules
71 for other results using a [net::RuleBasedHostResolverProc](/net/dns/mock_host_resolver.h).
88 See [`net::HostMappingRules`](/net/base/host_mapping_rules.h) for details on the
96 [`net::HostResolver`](/net/dns/host_resolver.h)
100 [`net::URLRequestContext`](/net/url_request/url_request_context.h)s. Created
101 using `net::HostResolver::CreateResolver()` or
102 `net::HostResolver::CreateStandaloneResolver()`.
108 [`net::ContextHostResolver`](/net/dns/context_host_resolver.h)
110 The main prod implementation of `net::HostResolver`. Expected to be owned 1:1 by
111 a single `net::URLRequestContext`, the `net::ContextHostResolver` owns or keeps
113 including an owned [`net::HostCache`](/net/dns/host_cache.h).
115 On resolution, calls into an underlying `net::HostResolverManager` with the per-
119 `net::ContextHostResolver` instance. This prevents the underlying
120 `net::HostResolverManager` from continuing to reference the per-context
121 properties that may be destroyed on destruction of the `net::URLRequestContext`
122 or `net::ContextHostResolver`.
126 [`net::MappedHostResolver`](/net/dns/mapped_host_resolver.h)
128 A wrapping implementation around another `net::HostResolver`. Maintains request
138 A wrapping implementation around another `net::HostResolver`. Returns stale
139 (expired or invalidated by network changes) data from the `net::HostCache` when
147 [`net::HostResolverManager`](/net/dns/host_resolver_manager.h)
151 `net::HostCache`s, IP address literals, etc). Throttles, schedules, and merges
156 In prod, a single shared `net::HostResolverManager` is generally used for the
162 `net::HostResolverManager::RequestImpl`
164 Implementation of [`net::HostResolver::ResolveHostRequest`](/net/dns/host_resolver.h)
166 `net::HostResolverManager`. The `RequestImpl` object itself primarily acts only
168 logic to the `net::HostResolverManager` itself.
172 * "Net.DNS.Request.TotalTime" (recommended for experiments)
173 * "Net.DNS.Request.TotalTimeAsync"
177 `net::HostResolverManager::Job`
182 completion adds results to relevant `net::HostCache`s and invokes request
188 `net::HostResolverManager` schedules and throttles running
189 `net::HostResolverManager::Job`s using a [`net::PrioritizedDispatcher`](/net/base/prioritized_dispa…
196 * "Net.DNS.ResolveSuccessTime"
197 * "Net.DNS.ResolveFailureTime"
198 * "Net.DNS.ResolveCategory"
199 * "Net.DNS.ResolveError.Fast"
200 * "Net.DNS.ResolveError.Slow"
201 * "Net.DNS.SecureDnsMode.[Off/Automatic/Secure].ResolveTime"
206 `net::HostResolverManager::Job` are determined in advance of running the Job by
207 `net::HostResolverManager::CreateTaskSequence()`, which outputs a list of
208 `net::HostResolverManager::TaskType` specifying the order of sources to attempt.
214 [`net::DnsConfig::secure_dns_mode`](/net/dns/dns_config.h) but overridable for
216 `net::HostResolver::ResolveHostParameters::secure_dns_mode_override`.
219 specified using `net::HostResolver::ResolveHostParameters::source` and
220 [`net::HostResolverSource`](/net/dns/host_resolver_source.h).
227 `net::HostResolverSource::SYSTEM`
228 `net::HostResolverManager::TaskType::SYSTEM`
230 Implemented by: `net::HostResolverSystemTask`
233 it was historically always implemented using net::HostResolverProc). Results
245 * When the Secure DNS mode is `net::SecureDnsMode::OFF` and
246 `net::HostResolverSource::DNS` is not enabled via
247 `net::HostResolverManager::SetInsecureDnsClientEnabled(true)`
252 `net::HostResolverSystemTask`'s behavior can be overridden by an asynchronous
263 [`net::AddressInfo`](/net/dns/address_info.h) helper. In tests, the blocking
265 [`net::HostResolverProc`](/net/dns/host_resolver_proc.h), which itself can be
270 * "Net.DNS.SystemTask.SuccessTime"
271 * "Net.DNS.SystemTask.FailureTime"
275 `net::HostResolverSource::DNS`
276 `net::HostResolverManager::TaskType::DNS`
277 `net::HostResolverManager::TaskType::SECURE_DNS`
279 Implemented by: `net::HostResolverManager::DnsTask`
282 queried from DNS using [`net::DnsClient`](/net/dns/dns_client.h), a Chrome
289 `net::HostResolverManager::SetInsecureDnsClientEnabled(true)` or
290 the Secure DNS mode is not `net::SecureDnsMode::OFF`.
295 The `net::HostResolverManager::DnsTask` will create and run a
296 [`net::DnsTransaction`](/net/dns/dns_transaction.h) for each DNS name/type pair
298 [`net::DnsResponse`](/net/dns/dns_response.h).
301 separate `net::DnsTransaction`s and the `net::HostResolverManager::DnsTask` will
302 request a second slots from the `net::PrioritizedDispatcher` used by
303 `net::HostResolverManager`. The A transaction is started immediately on starting
304 the `net::HostResolverManager::DnsTask`, and the AAAA transaction is started
307 Each `net::DnsTransaction` internally makes a series of `net::DnsAttempt`s, each
308 representing an individual DNS request. A single `net::DnsTransaction` can run
309 many `net::DnsAttempt`s due to retry logic, fallback between multiple configured
313 `net::DnsTransaction` implementation not listed here):
315 * "Net.DNS.DnsTask.SuccessTime"
316 * "Net.DNS.InsecureDnsTask.FailureTime"
317 * "Net.DNS.JobQueueTime.PerTransaction"
318 * "Net.DNS.JobQueueTime.Failure"
319 * "Net.DNS.JobQueueTime.Success"
320 * "Net.DNS.SecureDnsTask.DnsModeSecure.FailureTime"
321 * "Net.DNS.SecureDnsTask.DnsModeAutomatic.FailureTime"
325 `net::HostResolverSource::MULTICAST_DNS`
326 `net::HostResolverManager::TaskType::MDNS`
328 Implemented by [`net::HostResolverMdnsTask`](/net/dns/host_resolver_mdns_task.h)
330 Results are queried from mDNS using [`net::MDnsClient`](/net/dns/mdns_client.h).
335 mDNS requests start with [`net::HostResolverMdnsTask`](/net/dns/host_resolver_mdns_task.h),
336 which will create and run a [`net::MDnsTransaction`](/net/dns/mdns_client.h) for
339 Unlike `net::HostResolverManager::DnsTask`, each `net::HostResolverMdnsTask`
343 `net::MDnsClient` maintains its own cache, separate from the main
344 [`net::HostCache`](/net/dns/host_cache.h) owned by the
345 [`net::ContextHostResolver`](/net/dns/context_host_resolver.h). As such, mDNS
346 results are never cached in the `net::HostCache`.
354 To avoid such issues, `net::HostResolverManager` heuristically detects IPv4-only
357 host resolution requests for `net::DnsQueryType::UNSPECIFIED` to
358 `net::DnsQueryType::A`. This generally results in disallowing AAAA requests.
363 * The host resolution request explicitly requests `net::DnsQueryType::AAAA`
365 rewritten to an IP address literal using `net::MappedHostResolver`
383 IPv6 address to resolve it to. `net::MappedHostResolver` acts at a level