summaryrefslogtreecommitdiffstats
path: root/net/socket/client_socket.h
Commit message (Collapse)AuthorAgeFilesLines
* Gather preconnection use vs waste statisticsjar@chromium.org2010-08-251-36/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I now gather statistics only in the transport socket classes TcpClientSocket*. All other socket classes forward significant data (that they are used in a speculation) to their transport class, where this data is stored, and then dumped when the TCP socket is closed. This CL also repaired a slight miscount in bytes read and written on Windows, as error codes were mistakenly accumulated as byte counts. This CL repaired a significant undercounting in linux/mac via StatsCounter (the logging counter appears correct). Libjingle support is minimal (NOTREACHED), but I don't know that there are subresources that will be speculatively preconnected from that class (and it is less obvious how the class uses underlying sockets, if at all). BUG=42694 r=willchan Review URL: http://codereview.chromium.org/3163033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57377 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 54771 (and 54795) To enable TCP Preconnection by defaultjar@chromium.org2010-08-061-0/+38
| | | | | | | | | | | | | | | | | | | | | | | I pulled out the code to update the socket connectivity stats. I added defensive code which should preclude the crash that was reported on the stability bot. I added a second call to update the stats from ~ClientSocketHandle to ensure that we updated the related ClientSocket when we are torn down. As noted in the original checkin: Enable speculative preconnection by default Added histogram to track preconnection utilization (vs waste). BUG=42694 r=mbelshe Review URL: http://codereview.chromium.org/3050040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55197 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55071 - Reland 54771 (and 54795) To enable TCP Preconnection by defaultdhollowa@chromium.org2010-08-051-38/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Leaks reported with this CL. http://build.chromium.org/buildbot/memory/builders/Linux%20Heapcheck/builds/6130/steps/heapcheck%20test:%20net/logs/stdio Eg. Leak of 24 bytes in 1 objects allocated from: @ 84aece net::SSLClientSocketNSS::BufferRecv @ 84b161 net::SSLClientSocketNSS::DoTransportIO @ 84ca1f net::SSLClientSocketNSS::DoHandshakeLoop @ 84ca6b net::SSLClientSocketNSS::OnHandshakeIOComplete @ 84cadc net::SSLClientSocketNSS::OnRecvComplete @ 84cbb0 net::SSLClientSocketNSS::BufferRecvComplete @ 84ea4b void DispatchToMethod @ 84ea7b CallbackImpl::RunWithParams @ 4b3a10 CallbackRunner::Run @ 853e7e net::TCPClientSocketLibevent::DoReadCallback @ 85426f net::TCPClientSocketLibevent::DidCompleteRead @ 856a5c net::TCPClientSocketLibevent::ReadWatcher::OnFileCanReadWithoutBlocking @ 93d8fd base::MessagePumpLibevent::FileDescriptorWatcher::OnFileCanReadWithoutBlocking @ 93d966 base::MessagePumpLibevent::OnLibeventNotification @ 9da639 event_process_active @ 9da923 event_base_loop @ 93dfd0 base::MessagePumpLibevent::Run @ 8f2873 MessageLoop::RunInternal @ 8f2893 MessageLoop::RunHandler @ 8f2938 MessageLoop::Run @ 44b7f9 TestCompletionCallback::WaitForResult @ 6a1ee6 SSLClientSocketTest_ConnectMismatched_Test::TestBody @ 961831 testing::Test::Run @ 965026 testing::internal::TestInfoImpl::Run @ 96515c testing::TestCase::Run @ 965bbe testing::internal::UnitTestImpl::RunAllTests @ 965d35 testing::UnitTest::Run @ 4a4bf7 TestSuite::Run @ 4a3b6d main @ 2adff5bb11c4 __libc_start_main Suppression: { <insert_a_suppression_name_here> Heapcheck:Leak fun:net::SSLClientSocketNSS::BufferRecv fun:net::SSLClientSocketNSS::DoTransportIO fun:net::SSLClientSocketNSS::DoHandshakeLoop fun:net::SSLClientSocketNSS::OnHandshakeIOComplete fun:net::SSLClientSocketNSS::OnRecvComplete fun:net::SSLClientSocketNSS::BufferRecvComplete fun:void DispatchToMethod fun:CallbackImpl::RunWithParams fun:CallbackRunner::Run fun:net::TCPClientSocketLibevent::DoReadCallback fun:net::TCPClientSocketLibevent::DidCompleteRead fun:net::TCPClientSocketLibevent::ReadWatcher::OnFileCanReadWithoutBlocking fun:base::MessagePumpLibevent::FileDescriptorWatcher::OnFileCanReadWithoutBlocking fun:base::MessagePumpLibevent::OnLibeventNotification fun:event_process_active fun:event_base_loop fun:base::MessagePumpLibevent::Run fun:MessageLoop::RunInternal fun:MessageLoop::RunHandler fun:MessageLoop::Run fun:TestCompletionCallback::WaitForResult fun:SSLClientSocketTest_ConnectMismatched_Test::TestBody fun:testing::Test::Run fun:testing::internal::TestInfoImpl::Run fun:testing::TestCase::Run fun:testing::internal::UnitTestImpl::RunAllTests fun:testing::UnitTest::Run fun:TestSuite::Run fun:main fun:__libc_start_main } I added defensive code in ClientSocketHandle::ReleaseSocket(), which should preclude the crash that was reported on the stability bot. I added a second call to ReleaseSocket() from ~ClientSocketHandle to ensure that we updated the related ClientSocket when we are torn down. r=mbelshe Review URL: http://codereview.chromium.org/3071022 TBR=jar@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55090 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 54771 (and 54795) To enable TCP Preconnection by defaultjar@chromium.org2010-08-051-0/+38
| | | | | | | | | | | | | | | I added defensive code in ClientSocketHandle::ReleaseSocket(), which should preclude the crash that was reported on the stability bot. I added a second call to ReleaseSocket() from ~ClientSocketHandle to ensure that we updated the related ClientSocket when we are torn down. r=mbelshe Review URL: http://codereview.chromium.org/3071022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55071 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 54771 - Enable speculative preconnection by defaultjar@chromium.org2010-08-041-38/+0
| | | | | | | | | | | | | | Added histogram to track utilization (vs waste). [The stability bot was reporting problems, so I'm reverting] r=mbelshe Review URL: http://codereview.chromium.org/3026038 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/3090011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54930 0039d316-1c4b-4281-b951-d872f2087c98
* Enable speculative preconnection by defaultjar@chromium.org2010-08-031-0/+38
| | | | | | | | | Added histogram to track utilization (vs waste). r=mbelshe Review URL: http://codereview.chromium.org/3026038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54771 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Add net log entries that summarize transmit and receive byte counts.vandebo@chromium.org2010-04-231-3/+5
| | | | | | | | | | | | | | | | | | | | | 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-2/+3
| | | | | | | | | | | | | | | | 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
* Really connect to the same server in FTP network transaction.phajdan.jr@chromium.org2010-02-201-13/+3
| | | | | | | | | | | | Also create necessary infrastructure to know the address a client socket is connected to. TEST=Covered by net_unittests. BUG=35670 Review URL: http://codereview.chromium.org/598071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39559 0039d316-1c4b-4281-b951-d872f2087c98
* BSD port: USE_NSS and other macros instead of OS_LINUX where applicablepvalchev@google.com2010-01-291-1/+2
| | | | | | Review URL: http://codereview.chromium.org/556068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37492 0039d316-1c4b-4281-b951-d872f2087c98
* Turn GetPeerName into a pure virtual and provide local impls, this way any ↵thomasvl@chromium.org2010-01-201-1/+1
| | | | | | | | | | future bugs like the one referenced are compile time and not runtime so they won't wide waiting to be found. BUG=32595 TEST=everything builds and tests pass Review URL: http://codereview.chromium.org/552048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36629 0039d316-1c4b-4281-b951-d872f2087c98
* Define the GetPeerName method of the ClientSocket interface for allwtc@chromium.org2009-11-301-3/+4
| | | | | | | | | | | | | | | platforms, in preparation for using SSLClientSocketNSS on Windows. nss_memio.c does not need to include <unistd.h> Fix style nits. R=eroman BUG=28744 TEST=none Review URL: http://codereview.chromium.org/440031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33319 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a style nit in client_socket.h.wtc@chromium.org2009-11-101-1/+1
| | | | | | | | | | | | Use the |os_error| name consistently for all the function arguments and local variables that represent OS errors. R=eroman BUG=none TEST=none Review URL: http://codereview.chromium.org/374008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31537 0039d316-1c4b-4281-b951-d872f2087c98
* Add LoadLog to ClientSocket::Connect().willchan@chromium.org2009-11-021-1/+3
| | | | | | | | 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
* Enable SSL session resumption for Mac OS X.hawk@chromium.org2009-09-031-3/+3
| | | | | | | | BUG=19049 TEST=https sites perform identically under Mac OS X <= 10.5.6 and Mac OS X >= 10.5.7 (in particular, https://test-ssev.verisign.com/ and the three pages linked from there) Review URL: http://codereview.chromium.org/177014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25399 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash in net::SSLClientSocketWin::OnIOComplete(int) whenwtc@chromium.org2009-06-251-4/+8
| | | | | | | | | | | | | | | | | | | | | an HttpNetworkTransaction is destroyed while its SSLClientSocket is verifying a certificate. Document that ClientSocket::Disconnect aborts any pending IO and prevents completion callback from running, like a cancel method. Change the verifier_ member of SSLClientSocket to a scoped_ptr so that we can destroy the CertVerifier object in the Disconnect method. (CertVerifier doesn't have a cancel method, so we cancel pending certificate verification by destroying the CertVerifier object.) R=willchan BUG=http://crbug.com/13981 TEST=none. I can only reproduce this crash by modifying the source code to create that condition. Review URL: http://codereview.chromium.org/147159 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19307 0039d316-1c4b-4281-b951-d872f2087c98
* Move socket related files from net/base to net/socket.willchan@chromium.org2009-06-221-0/+59
Review URL: http://codereview.chromium.org/144009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18985 0039d316-1c4b-4281-b951-d872f2087c98