| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This currently only works on Posix, not windows.
Network changes are monitored, and the test is repeated each time interfaces
change (which is a subset of any IP addresses changing).
The test performed is performed on a worker thread, so latency should not
be an issue (even if we created much slower tests).
The current test appears to takes in the raneg of 50-100ms, and probably
(under the covers) does some reading from files).
BUG=25680
BUG=12754
r=wtc,eroman
Review URL: http://codereview.chromium.org/1006001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41743 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
event stream (NetLog).
This makes it possible to associate a single NetLog with a URLRequestContext, and then attach observers to that log to watch the stream of events.
This changelist attempts to do the most direct translation, so there will be subsequent iterations to clean up.
The user-visible behavior should remain unchanged.
BUG=37421
Review URL: http://codereview.chromium.org/848006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41689 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the client has an IPv6 address on an interface
It is indeed causing a perf regression in startup on Linux...
I'll need to rearchitect to do the probes asynchronously, and get
off the startup-critical-path.
This currently only works on Posix, not windows.
Network changes are monitored, and the test is repeated each time interfaces
change (which is a subset of any IP addresses changing).
The test performed is still relatively low latency, and we *may* need
to eventually move to an high latency test, such as a DNS resolution,
or an actual test connection. If we move in that direction, then we'll
need to post a task to perform the work, rather than immediately returning.
BUG=25680
BUG=12754
r=wtc,eroman
Review URL: http://codereview.chromium.org/652072
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/660073
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/661164
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/660165
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40101 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
has an IPv6 address on an interface
This is a second attempt to land a reviewed change. It was reverted because
the tree got very red (for other reasons), and it was plausible that this
change was causing startup latency in Mac and Linux (causing both perf bots
to go red). If this landing turns those perf-bots red (tonight) I'll need
to revert. (... and I'll need to rearchitect to do the probes
asynchronously, and get off the startup-critical-path.
This currently only works on Posix, not windows.
Network changes are monitored, and the test is repeated each time interfaces
change (which is a subset of any IP addresses changing).
The test performed is still relatively low latency, and we *may* need
to eventually move to an high latency test, such as a DNS resolution,
or an actual test connection. If we move in that direction, then we'll
need to post a task to perform the work, rather than immediately returning.
BUG=25680
BUG=12754
r=wtc,eroman
Review URL: http://codereview.chromium.org/652072
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/660073
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/661164
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40099 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
address on an interface
This currently only works on Posix, not windows.
Network changes are monitored, and the test is repeated each time interfaces
change (which is a subset of any IP addresses changing).
The test performed is still relatively low latency, and we *may* need
to eventually move to an high latency test, such as a DNS resolution,
or an actual test connection. If we move in that direction, then we'll
need to post a task to perform the work, rather than immediately returning.
BUG=25680
BUG=12754
r=wtc,eroman
Review URL: http://codereview.chromium.org/652072
TBR=jar@chromium.org
Review URL: http://codereview.chromium.org/660073
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39998 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This currently only works on Posix, not windows.
Network changes are monitored, and the test is repeated each time interfaces
change (which is a subset of any IP addresses changing).
The test performed is still relatively low latency, and we *may* need
to eventually move to an high latency test, such as a DNS resolution,
or an actual test connection. If we move in that direction, then we'll
need to post a task to perform the work, rather than immediately returning.
BUG=25680
BUG=12754
r=wtc,eroman
Review URL: http://codereview.chromium.org/652072
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39996 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
page (so use of the --host-resolver-rules flag doesn't limit features), and run through the Shutdown() method on exit.
This reworks the "IsHostResolverImpl()" hack to be a bit more general.
BUG=36053
Review URL: http://codereview.chromium.org/646003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39488 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
While this doesn't entirely remove the hack, it limits the scope of it to HostResolverImpl.
Hopefully in the future HostResolver will not be refcounted so this can go away altogether.
BUG=18373
Review URL: http://codereview.chromium.org/569035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38243 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=34632
TEST=
HostResolverImplTest.SetDefaultAddressFamily_IPv4
HostResolverImplTest.SetDefaultAddressFamily_IPv6
HostResolverImplTest.SetDefaultAddressFamily_Synchronous
Review URL: http://codereview.chromium.org/577010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38167 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This requires the following refactors:
(1) NetworkChangeNotifier moves out of HttpNetworkSession into IOThread.
(2) HostResolver gets initialized with NetworkChangeNotifier.
(3) NetworkChangeNotifier needs to get passed into HttpCache and HttpNetworkSession (required updating a lot of files).
(4) NetworkChangeNotifier is no longer reference counted. It is owned by IOThread.
(5) IOThread gains a new struct: Globals. It can only be used on the io thread.
(6) ChromeURLRequestContextFactory uses IOThread::Globals to initialize ChromeURLRequest objects with the host resolver and network change notifier.
BUG=26159
Review URL: http://codereview.chromium.org/552117
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38052 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will help in diagnosing the "slow resolving host" bugs.
Users can now click an "Enable tracing" button on "chrome://net-internals/hostresolver".
This logs detailed information on the DNS requests flowing through the browser (when they were received, when they were posted to the thread pool, when they started running on the worker thread, etc...).
BUG=12754
Review URL: http://codereview.chromium.org/556094
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37776 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently this limit is very high (50), but it can be tuned through a variable.
BUG=9598
TEST=
HostResolverImplTest.HigherPriorityRequestsStartedFirst
HostResolverImplTest.CancelPendingRequest
HostResolverImplTest.QueueOverflow
Review URL: http://codereview.chromium.org/542086
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37608 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=http://crbug.com/26159
Review URL: http://codereview.chromium.org/545003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35956 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a very small time to live, since we want to be able to respond quickly when formerly unresolvable names become resolvable.
Even such a small time is still useful, since cache misses for unresolvable names can be extremely costly (order of several seconds).
For example, in our corp PAC script, the URL's host is resolved 3 times, so:
Without caching, total runtime is (2.5 seconds) * 3 --> 7.5 seconds.
Whereas with caching it would be: (2.5 seconds) * 1 --> 2.5 seconds
This time to live will need to be tuned as part of bug 25472.
BUG=11079
Review URL: http://codereview.chromium.org/464084
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34238 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=26749
Review URL: http://codereview.chromium.org/368001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31165 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
HostResolver::SetDefaultAddressFamily(), to make it more general.
This came up in a codereview comment, but was after I had checked in.
Review URL: http://codereview.chromium.org/303026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30063 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(1) Adds the ability to specify the address family on a per-request basis.
(2) Exposes a --disable-ipv6 flag to chrome that changes the default address family from AF_UNSPEC to AF_INET (same sort of thing Firefox does).
(3) Changes the backing datastructure for HostCache:EntryMap and HostResolverImpl::JobMap from a "hash_map" to a "std::map". This was for consistency with other code (when I went to add a custom hash trait, I couldn't find any existing code which was using hashmap for custom keys).
(4) Updates about:net-internals to display an address family for the hostcache dump (since it is now a part of the key).
This change is in anticipation of turning off IPv6 host resolving in the PAC utility functions (see bug 24641). But it is also a feature addition.
BUG=24641
TEST=HostCacheTest.AddressFamilyIsPartOfKey
Review URL: http://codereview.chromium.org/302010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29686 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=http://crbug.com/14478
Review URL: http://codereview.chromium.org/172100
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25227 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/164531
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23419 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The functionality in load_log_util.h is currently unused, but since it motivates the implementation of LoadLog, figured it should be included with this review.
Note that I decided against defining the loggable event types as LoadStates, since I wanted more flexibility in adding crazy stuff, and they really seem too implementation specific to be in LoadStates.
BUG=http://crbug.com/14478
TEST=net_unittests
Review URL: http://codereview.chromium.org/165404
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23412 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
and proyxservice.This dependency comes from the parent URLRequest, and is used as a container for per-request profiling data.This change is strictly a no-op refactor -- the parameter is unused, and LoadLog does nothing.BUG=http://crbug.com/14478TEST=none -- just needs to compile and pass existing tests.DESIGN=<http://docs.google.com/Doc?id=dfhcnb2v_21gbtrcpr3&hl=en>
Review URL: http://codereview.chromium.org/126303
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23127 0039d316-1c4b-4281-b951-d872f2087c98
|
|
(1) Extract HostResolver to an interface.
The existing concrete implementation is now named HostResolverImpl. This makes it possible to create mocks with more complex behavior (i.e. choose via rules if response will be sync vs async).
(2) Transform HostMapper into HostResolverProc.
Conceptually HostResolverProc maps a hostname to a socket address, whereas HostMapper mapped a hostname to another hostname (so you were still at the mercy of the system's host resolver). With HostResolverProc you can specify the exact AddressList, making it possible to run tests requiring IPv6 socketaddrs on systems (like WinXP) that don't actually support it.
(3) Add a MockHostResolver implementation of HostResolver.
This replaces the [ScopedHostMapper + RuleBasedHostMapper + HostResolver] combo. It is less clunky and a bit more expressive.
BUG=http://crbug.com/16452
R=willchan
TEST=existing
Review URL: http://codereview.chromium.org/149511
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20795 0039d316-1c4b-4281-b951-d872f2087c98
|