summaryrefslogtreecommitdiffstats
path: root/net/socket/tcp_client_socket_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* Reimplements net::AddressList without struct addrinfo.szym@chromium.org2012-05-071-10/+3
| | | | | | | | | | | | | | | | net::AddressList extends std::vector<std::IPEndPoint> by canonical name. (Canonical name is planned to be removed as well.) Removes dependency on sys_addrinfo.h throughout the codebase. Introduces net::SockaddrStorage for convenience. BUG=125696 TEST=green waterfall Review URL: http://codereview.chromium.org/10309002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135731 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate net/socket/socket.h, net/socket/stream_socket.h to base::Bind().ajwong@chromium.org2011-12-091-6/+6
| | | | | | | | | | | This changes Socket::Read(), Socket::Write, and StreamSocket::Connect() to use CompletionCallback and fixes all users. BUG=none TEST=existing. Review URL: http://codereview.chromium.org/8824006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113825 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Convert ServerSocket::Accept.jhawkins@chromium.org2011-12-031-2/+2
| | | | | | | | | | BUG=none TEST=none R=csilv Review URL: http://codereview.chromium.org/8771030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112863 0039d316-1c4b-4281-b951-d872f2087c98
* Begin CompletionCallback switchover.willchan@chromium.org2011-10-011-4/+4
| | | | | | | | | | | | | Rename CompletionCallback to OldCompletionCallback in preparation for introducing a new CompletionCallback based on base::Callback. Also renames other CompletionCallback types like CancelableCompletionCallback and TestCompletionCallback and CompletionCallbackImpl. All using sed with s/CompletionCallback/OldCompletionCallback/g. BUG=98719 TEST=none Review URL: http://codereview.chromium.org/8070013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103650 0039d316-1c4b-4281-b951-d872f2087c98
* Bind() methods for TCP socketssergeyu@chromium.org2011-05-271-0/+110
| | | | | | | | | | | BUG=80245 TEST=None Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=87077 Review URL: http://codereview.chromium.org/7004055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87095 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 87077 - Bind() methods for TCP socketssergeyu@chromium.org2011-05-271-110/+0
| | | | | | | | | | | | BUG=80245 TEST=None Review URL: http://codereview.chromium.org/7004055 TBR=sergeyu@chromium.org Review URL: http://codereview.chromium.org/7082013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87079 0039d316-1c4b-4281-b951-d872f2087c98
* Bind() methods for TCP socketssergeyu@chromium.org2011-05-271-0/+110
| | | | | | | | | BUG=80245 TEST=None Review URL: http://codereview.chromium.org/7004055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87077 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 87066 - Bind() methods for TCP socketssergeyu@chromium.org2011-05-271-110/+0
| | | | | | | | | | | | BUG=80245 TEST=None Review URL: http://codereview.chromium.org/7004055 TBR=sergeyu@chromium.org Review URL: http://codereview.chromium.org/7087004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87070 0039d316-1c4b-4281-b951-d872f2087c98
* Bind() methods for TCP socketssergeyu@chromium.org2011-05-271-0/+110
| | | | | | | | | BUG=80245 TEST=None Review URL: http://codereview.chromium.org/7004055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87066 0039d316-1c4b-4281-b951-d872f2087c98
* Rework the tcp_client_socket_unittest to be a genericmbelshe@chromium.org2011-04-121-355/+0
| | | | | | | | | | | transport_client_socket_test. This allows us to create new tests which test against all transports. For now, that is just TCP. Soon we'll add SCTP. BUG=none TEST=none Review URL: http://codereview.chromium.org/6822022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81251 0039d316-1c4b-4281-b951-d872f2087c98
* Update NetLog to be threadsafe.mmenke@chromium.org2010-12-011-3/+7
| | | | | | | | | | | | | | | | | | The ChromeNetLog is now owned by the browser process, and passed to the IOThread on creation. NetLog entries can be added from any thread. Observers must be able to handle having log entries added from any thread. Observers can add/remove themselves on any thread. BUG=63334 TEST=None, yet Review URL: http://codereview.chromium.org/4118004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67851 0039d316-1c4b-4281-b951-d872f2087c98
* Convert implicit scoped_refptr constructor calls to explicit ones, part 1thakis@chromium.org2010-11-011-13/+13
| | | | | | | | | | | This CL was created automatically by this clang rewriter: http://codereview.appspot.com/2776043/ . I manually fixed a few rough spots of the rewriter output (doh1-3) and fixed all presubmit errors. BUG=28083 TEST=None Review URL: http://codereview.chromium.org/4192012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64573 0039d316-1c4b-4281-b951-d872f2087c98
* Initial support for built-in DNS resolver/cache.agayev@chromium.org2010-10-281-1/+1
| | | | | | | | | BUG=60149 TEST=None Review URL: http://codereview.chromium.org/4216001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64271 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 64202 - Initial support for built-in DNS resolver/cache.yusukes@chromium.org2010-10-281-1/+1
| | | | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/3693001 TBR=agayev@chromium.org Review URL: http://codereview.chromium.org/4208002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64204 0039d316-1c4b-4281-b951-d872f2087c98
* Initial support for built-in DNS resolver/cache.agayev@chromium.org2010-10-281-1/+1
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/3693001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64202 0039d316-1c4b-4281-b951-d872f2087c98
* Stop refcounting HostResolver.willchan@chromium.org2010-10-011-1/+1
| | | | | | | | | BUG=46049 TEST=none Review URL: http://codereview.chromium.org/3601002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61256 0039d316-1c4b-4281-b951-d872f2087c98
* Change HostResolver::RequestInfo to take a HostPortPair rather than naked ↵eroman@chromium.org2010-09-151-1/+1
| | | | | | | | host string + port. Review URL: http://codereview.chromium.org/3420001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59577 0039d316-1c4b-4281-b951-d872f2087c98
* In about:net-internals, each SOCKET created by a CONNECT_JOB holds a ↵mmenke@chromium.org2010-08-251-1/+1
| | | | | | | | | | | reference to the CONNECT_JOB that spawned it. BUG=47082 TEST=manual Review URL: http://codereview.chromium.org/3164005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57339 0039d316-1c4b-4281-b951-d872f2087c98
* Adds HostResolveImpl Requests and Jobs to log.mmenke@chromium.org2010-08-241-1/+2
| | | | | | | | | | | | | | | Differences over the reverted version (http://codereview.chromium.org/3080034/show - reverted http://codereview.chromium.org/3137022/show ): * Jobs never log anything in their destructor, as the HostResolverImpl randomly outlives the NetLog, at least in some unit tests. * Removed the extra log entries for when a DNS lookup starts/completes. Instead, the job's event is ended in OnLookupComplete(). * Slight modification of the CanceledAsynchronousLookup unit test, as the Job is now closed before posting any events to the Request. For actual lookups, this behavior means the Job's duration more accurately reflects the time the DNS lookup takes itself. BUG=46844 TEST=Look at the net-internals screen. Review URL: http://codereview.chromium.org/3119027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57189 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 56539 - Added HostResolveImpl Requests and Jobs to log.mmenke@chromium.org2010-08-181-2/+1
| | | | | | | | | | | | | | | | | | ConnectJobs point to the requests, Requests point back to ConnectJobs and to the DNS lookup they were attached to, if any. Also CONNECT_JOBs are now identified by their host/port on the Requests list. BUG= 46844 TEST= Look at the net-internals screen. Review URL: http://codereview.chromium.org/3080034 TBR=eroman@chromium.org Review URL: http://codereview.chromium.org/3137022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56556 0039d316-1c4b-4281-b951-d872f2087c98
* Added HostResolveImpl Requests and Jobs to log.mmenke@chromium.org2010-08-181-1/+2
| | | | | | | | | | | | | | | ConnectJobs point to the requests, Requests point back to ConnectJobs and to the DNS lookup they were attached to, if any. Also CONNECT_JOBs are now identified by their host/port on the Requests list. BUG= 46844 TEST= Look at the net-internals screen. Review URL: http://codereview.chromium.org/3080034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56539 0039d316-1c4b-4281-b951-d872f2087c98
* More uninitialized class member vars.finnur@chromium.org2010-08-171-1/+3
| | | | | | | | | | BUG=None TEST=None CID=1473, 5546, 11622 Review URL: http://codereview.chromium.org/3123009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56322 0039d316-1c4b-4281-b951-d872f2087c98
* Add a command line flag to change the default number of parallel DNS ↵eroman@chromium.org2010-07-171-1/+2
| | | | | | | | | | | | | requests issued by chrome. --host-resolver-parallelism=XXX This is a useful debugging tool, since for some users too many parallel DNS requests results in spurious DNS failures from their resolver. BUG=44489 Review URL: http://codereview.chromium.org/3019007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52802 0039d316-1c4b-4281-b951-d872f2087c98
* Brushed up listen socket:pfeldman@chromium.org2010-07-051-1/+1
| | | | | | | | | | | - Upstreamed support for partial results from devtools' version - Made DidRead receive data and length (in order to support websockets data) - Fixed all the clients. Added net/server with http socket implementation that supports websockets. Will remove net/tools fetch client and server later. Review URL: http://codereview.chromium.org/2868036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51635 0039d316-1c4b-4281-b951-d872f2087c98
* Massively simplify the NetworkChangeNotifier infrastructure:pkasting@chromium.org2010-06-251-1/+1
| | | | | | | | | | | | | | * Use a process-wide object (singleton pattern) * Create/destroy this object on the main thread, make it outlive all consumers * Make observer-related functions threadsafe As a result, the notifier can now be used by any thread (eliminating things like NetworkChangeObserverProxy and NetworkChangeNotifierProxy, and expanding its usefulness); its creation and inner workings are much simplified (eliminating implementation-specific classes); and it is simpler to access (eliminating things like NetworkChangeNotifierThread and a LOT of passing pointers around). BUG=none TEST=Unittests; network changes still trigger notifications Review URL: http://codereview.chromium.org/2802015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50895 0039d316-1c4b-4281-b951-d872f2087c98
* Rework the logging for sockets/connectjobs.eroman@chromium.org2010-06-031-4/+3
| | | | | | | | | | | | | | | | | | In particular, make it work better when using backup jobs / late binding (the display was very confused before because of how these asynchronous events would nest). Also changed the paradigm for how PassiveLogCollector preserves these async associations -- this fixes how it replays the events to net-internals. (Before we would collapse the event streams into the SOURCE_URL_REQUEST which lost some hiearchy.. now I keep the separate streams). Some of the particular changes to the event streams: * ConnectJobs now create their own source stream internally. * Sockets are now bounded by +SOCKET_ALIVE / -SOCKET_ALIVE events (removed the one-off SOCKET_DONE event). * The socket log streams contains +SOCKET_IN_USE / -SOCKET_IN_USE event blocks to show which URLRequest was controlling it at various points in time (this makes it much easier to understand which read/writes belonged to a particular network transaction when a socket gets re-used). * ConnectJobs are bounded by +SOCKET_POOL_CONNECT_JOB / - SOCKET_POOL_CONNECT_JOB events. * ConnectJobs log the net error they failed with. * Removed the SOCKET_BACKUP_TIMER_EXTENDED event. Review URL: http://codereview.chromium.org/2363003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48797 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove the implicit constructor for BoundNetLog that allowed ↵eroman@chromium.org2010-04-281-1/+1
| | | | | | | | | passing NULL in place of a const BoundNetLog&. BUG=37421 Review URL: http://codereview.chromium.org/1783008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45851 0039d316-1c4b-4281-b951-d872f2087c98
* Add net log entries that summarize transmit and receive byte counts.vandebo@chromium.org2010-04-231-13/+13
| | | | | | | | | | | | | | | | | | | | | Tx/Rx summaries are integrated into the net log at the last point that bytes were transmitted or received. Hopefully this will help resolve http://crbug.com/37729 by showing if we've received bytes over the network when we hit the "Waiting for cache" bug. This change also modernizes the use of NetLog: - ClientSocket now has a net_log() accessor - ClientSocket::Connect no longer takes a NetLog, instead the TCPClientSocket constructor takes one, others use their transport socket's NetLog - TCPClientSocket creates a new source id with source type SOCKET Also updates PassiveLogCollector infrastructure: - The LiveRequestsObserver lets a RequestTracker update a RequestInfo just before it is displayed. This allows ConnectJobs to be associated with URLRequests while connecting and then reassociated if they are late-bound to a different request. BUG=37729 TEST=tx/rx lines show up in chrome://net-internals/ Review URL: http://codereview.chromium.org/1696005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45449 0039d316-1c4b-4281-b951-d872f2087c98
* Generalize the net module's LoadLog facility from a passive container, to an ↵eroman@chromium.org2010-03-161-7/+7
| | | | | | | | | | | | | | | | 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
* Use CHECK_* in netwillchan@chromium.org2010-03-021-1/+1
| | | | | | Review URL: http://codereview.chromium.org/660404 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40453 0039d316-1c4b-4281-b951-d872f2087c98
* Pass the NetworkChangeNotifier to HostResolver.willchan@chromium.org2010-02-041-1/+1
| | | | | | | | | | | | | | | 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
* Cleanup the unittest helpers in load_log_unittest.h.eroman@chromium.org2010-01-291-6/+6
| | | | | | | | | | | Consolidates all the callers to using the testing::AssertionResult() flavor, and renames them to have "Event" in the name. This rename is in anticipation of adding testers for other entry types. BUG=NONE TEST=existing Review URL: http://codereview.chromium.org/551135 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37501 0039d316-1c4b-4281-b951-d872f2087c98
* Improve the display of LoadLogs when truncation occurs.eroman@chromium.org2009-11-061-1/+1
| | | | | | | | | | | | | | Rather than drop all subsequent entries, we now preserve the final entry that was appended to the log. This way, even if entries have been dropped, we can still infer what the total time was, and what the exit condition was. Also makes LoadLog take the bound as a required parameter. BUG=none TEST=LoadLogUtilTest.DisplayOfTruncated Review URL: http://codereview.chromium.org/363025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31274 0039d316-1c4b-4281-b951-d872f2087c98
* Add LoadLog to ClientSocket::Connect().willchan@chromium.org2009-11-021-6/+15
| | | | | | | | TODO: Use LoadLog in FLIP code. Review URL: http://codereview.chromium.org/344026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30765 0039d316-1c4b-4281-b951-d872f2087c98
* LoadLog is used as an output parameter, reorder it to the last parameter.willchan@chromium.org2009-08-141-1/+1
| | | | | | Review URL: http://codereview.chromium.org/164531 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23419 0039d316-1c4b-4281-b951-d872f2087c98
* Add a "LoadLog" parameter to transactions, hostresolver, clientsocketpool ↵ericroman@google.com2009-08-121-1/+1
| | | | | | | | 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
* Refactorings surrounding HostResolver:ericroman@google.com2009-07-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | (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
* Make net::HostResolver refcounted.ericroman@google.com2009-06-271-2/+2
| | | | | | | | | | | This way it can be properly shared between the url request contexts, and the dns prefetcher, and dns observer. BUG=http://crbug.com/14664 TEST=existing unit tests. Review URL: http://codereview.chromium.org/149053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19451 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 19425.ericroman@google.com2009-06-261-2/+2
| | | | | | Review URL: http://codereview.chromium.org/147242 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19432 0039d316-1c4b-4281-b951-d872f2087c98
* Make net::HostResolver refcounted.ericroman@google.com2009-06-261-2/+2
| | | | | | | | | | | This way it can be properly shared between the url request contexts, and the dns prefetcher, and dns observer. BUG=http://crbug.com/14664 TEST=existing unit tests. Review URL: http://codereview.chromium.org/149053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19425 0039d316-1c4b-4281-b951-d872f2087c98
* Move socket related files from net/base to net/socket.willchan@chromium.org2009-06-221-0/+339
Review URL: http://codereview.chromium.org/144009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18985 0039d316-1c4b-4281-b951-d872f2087c98