summaryrefslogtreecommitdiffstats
path: root/net/socket/socks_client_socket.cc
Commit message (Collapse)AuthorAgeFilesLines
* make SetReceiveBufferSize and SetSendBufferSize return net error codes ↵jar@chromium.org2014-04-091-2/+2
| | | | | | | | | | | | | | (instead of bools) Previously committed as https://src.chromium.org/viewvc/chrome?view=rev&revision=261966 but then reverted when it broke the Mac 10.6 build. TBR=sergeyu,yzshen,yurys,zea R=wtc BUG=355222 Review URL: https://codereview.chromium.org/227473008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262652 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 261966 "make SetReceiveBufferSize and SetSendBufferSize r..."jschuh@chromium.org2014-04-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Appears to have broken the following gcm_unit_tests on Mac: DeviceCredentials AckOnLogin AckWhenLimitReachedWithHeartbeat ExpiredTTLOnRestart InitializeExisting SendMessageRMQAckOnReconnect SendMessageRMQOnRestart SendMessageRMQPartialAckOnReconnect SendMessageRMQWithStreamAck http://build.chromium.org/p/chromium.mac/builders/Mac%2010.6%20Tests%20%28dbg%29%284%29/builds/39860 > make SetReceiveBufferSize and SetSendBufferSize return net error codes (instead of bools) > > TBR=sergeyu,yzshen > R=wtc > BUG=355222 > > Review URL: https://codereview.chromium.org/217573002 TBR=jar@chromium.org Review URL: https://codereview.chromium.org/227083002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262002 0039d316-1c4b-4281-b951-d872f2087c98
* make SetReceiveBufferSize and SetSendBufferSize return net error codes ↵jar@chromium.org2014-04-051-2/+2
| | | | | | | | | | | | (instead of bools) TBR=sergeyu,yzshen R=wtc BUG=355222 Review URL: https://codereview.chromium.org/217573002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261966 0039d316-1c4b-4281-b951-d872f2087c98
* Use sockets with unread data if they've never been used before.davidben@chromium.org2014-03-261-12/+32
| | | | | | | | | | | | | | | | | | | This fixes preconnects to SPDY-capable origins. StreamSocket's semantics change slightly. WasEverUsed() for layered sockets is now whether the top-level socket has read or written user data, rather than whether the underlying transport socket was used. Change SSL and SOCKS socket implementations to use the new WasEverUsed() semantics. This doesn't affect SOCKS much except that preconnect misses now time out more aggressively. For SSL, it fixes the SPDY issue. Add tests for SSL socket and socket pool implementations. BUG=334467 Review URL: https://codereview.chromium.org/169643006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259671 0039d316-1c4b-4281-b951-d872f2087c98
* Remove HostResolver::RequestInfo's priority parameterakalin@chromium.org2013-08-201-3/+6
| | | | | | | | | | | | | | | | | Make it part of the HostResolver::Resolve() call instead. This makes it possible for RequestInfo to remain constant for the lifetime of a request. This also has the nice side effect for not needing to pass a priority for ResolveFromCache() calls. BUG=166689 TBR=asargent@chromium.org, mmenke@chromium.org, sergeyu@chromium.org Review URL: https://codereview.chromium.org/22824022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218525 0039d316-1c4b-4281-b951-d872f2087c98
* [net] Use scoped_ptr<> consistently in ClientSocketFactory and related codeakalin@chromium.org2013-08-151-5/+6
| | | | | | | | | | | | | | | | | This will make it easier to modify ClientSocketFactory et al. to support reprioritization. This also fixes a few latent memory leaks in tests. Make SocketStream use a ClientSocketHandle instead of just a StreamSocket. Rename {set,release}_socket() to {Set,Pass}Socket(). BUG=166689 TBR=eroman@chromium.org, rsleevi@chromium.org, sergeyu@chromium.org Review URL: https://codereview.chromium.org/22995002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217707 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated functions that take StreamSockets instead of handlesakalin@chromium.org2013-08-141-14/+0
| | | | | | | | BUG=37810 Review URL: https://chromiumcodereview.appspot.com/22794008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217433 0039d316-1c4b-4281-b951-d872f2087c98
* Update net/ to use scoped_refptr<T>::get() rather than implicit "operator T*"rsleevi@chromium.org2013-06-011-4/+6
| | | | | | | | | | | Linux fixes BUG=110610 TBR=darin Review URL: https://chromiumcodereview.appspot.com/15829004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203535 0039d316-1c4b-4281-b951-d872f2087c98
* Remove experimental code to pick the "warmest" socketmmenke@chromium.org2013-03-301-16/+0
| | | | | | | | | | | | | | | | | | (based on age and bytes received) in favor of older algorithm to pick the most recently used socket. Tests showed no real performance difference, so defaulting to the older, simpler, and more intuitive algorithm. This is basically a revert of https://codereview.chromium.org/7251004 TBR=sergeyu@chromium.org BUG=222090 Review URL: https://codereview.chromium.org/12886034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191507 0039d316-1c4b-4281-b951-d872f2087c98
* [net] Make IPEndPoint::GetFamily() return AddressFamily and add ↵szym@chromium.org2012-12-131-1/+1
| | | | | | | | | | | | GetSockAddrFamily() to be used when creating sockets. BUG=126002 TEST=browse anywhere Review URL: https://chromiumcodereview.appspot.com/11528012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172768 0039d316-1c4b-4281-b951-d872f2087c98
* Change SpdySession::GetSSLInfo to get the SSLInfo from the underlying socketrch@chromium.org2012-07-191-0/+17
| | | | | | | | | | | | | | | | even if the session is not "secure". This required refactoring StreamSocket to add WasNpnNegotiated() and GetSSLInfo() methods. This allows for a change to SpdySession::GetSSLInfo to accurately return the correct SSLInfo in the case of SPDY Proxy sessions. BUG=134690 TEST=\*DoNotUseSpdySessionIfCertDoesNotMatch\* Review URL: https://chromiumcodereview.appspot.com/10690122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147479 0039d316-1c4b-4281-b951-d872f2087c98
* NetLogEventParameter to Callback refactoring 9.mmenke@chromium.org2012-06-141-1/+1
| | | | | | | | | | | Get rid of all uses of NetLogEventParameters in net/socket. R=eroman@chromium.org BUG=126243 Review URL: https://chromiumcodereview.appspot.com/10546162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142224 0039d316-1c4b-4281-b951-d872f2087c98
* fixed issue 128383 - replace GetPeerAddress(AddressList* address) with ↵zhaoqin@chromium.org2012-06-081-1/+1
| | | | | | | | | | | | | GetPeerAddress(IPEndPoint* address) R=szym@chromium.org BUG=128383 TEST=try bot Review URL: https://chromiumcodereview.appspot.com/10491007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141125 0039d316-1c4b-4281-b951-d872f2087c98
* Reimplements net::AddressList without struct addrinfo.szym@chromium.org2012-05-071-8/+6
| | | | | | | | | | | | | | | | 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
* Add a new GetNegotiatedProtocol method to StreamSocket and implement in all ↵rch@chromium.org2012-04-031-0/+8
| | | | | | | | | | subclasses. BUG=120890 Review URL: https://chromiumcodereview.appspot.com/9958028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130388 0039d316-1c4b-4281-b951-d872f2087c98
* Move NextProto enum to a new file net/socket/next_proto.hrch@chromium.org2012-03-311-1/+0
| | | | | | | | | BUG=120890 Review URL: http://codereview.chromium.org/9959033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130038 0039d316-1c4b-4281-b951-d872f2087c98
* Add base::HostToNetXX() & NetToHostXX(), and use them to replace htonX() & ↵wez@chromium.org2012-03-281-2/+3
| | | | | | | | | | | | | | ntohX() in Chrome. This primarily addresses issues with code using the OS-provided htonX() & ntohX() functions from within the Chrome sandbox. Under Windows these functions are provided by ws2_32.dll, which is no longer available within Chrome's sandbox. The new base::HostToNetXX() and NetToHostXX() functions are safe for use by sandboxed code on Windows, and provide a single place where future fixes for other platforms can be made. BUG=117252 Review URL: http://codereview.chromium.org/9716020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129476 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate net/socket/socket.h, net/socket/stream_socket.h to base::Bind().ajwong@chromium.org2011-12-091-60/+18
| | | | | | | | | | | 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
* Revert 113699 - base::Bind: Convert Socket::Write.jhawkins@chromium.org2011-12-091-9/+1
| | | | | | | | | | | | | BUG=none TEST=none R=csilv Review URL: http://codereview.chromium.org/8831001 TBR=jhawkins@chromium.org Review URL: http://codereview.chromium.org/8889036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113719 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Convert Socket::Write.jhawkins@chromium.org2011-12-081-1/+9
| | | | | | | | | | BUG=none TEST=none R=csilv Review URL: http://codereview.chromium.org/8831001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113699 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Convert Socket::Read.jhawkins@chromium.org2011-12-071-1/+9
| | | | | | | | | | BUG=none TEST=none R=csilv Review URL: http://codereview.chromium.org/8801005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113326 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Convert StreamSocket::Connect.jhawkins@chromium.org2011-12-061-12/+42
| | | | | | | | | | BUG=none TEST=none R=csilv Review URL: http://codereview.chromium.org/8801004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113283 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Convert HostResolver::Resolve.jhawkins@chromium.org2011-11-161-1/+4
| | | | | | | | | | | BUG=none TEST=none R=willchan@chromium.org Review URL: http://codereview.chromium.org/8549004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110333 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
* Warmth of a connection (cwnd) is estimated by the amount of data written to ↵gagansingh@google.com2011-06-271-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | the socket. Choosing the warmest connection would mean faster resource load times. idle time is the time a socket has remained idle (no http requests being served on it). Probability of server resetting a connection increases with idle time duration. Using a cost function that takes into account bytes transferred and idle time to pick best connection to schedule http requests on. CODEREVIEW done in http://codereview.chromium.org/6990036/ Contributed by gagansingh@google.com Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=90373 Reverted: http://codereview.chromium.org/7255002 :( Have fixed 2 things since: 1. Removed LOG(ERROR) from http_basic_stream.cc that was causing layout tests to fail. 2. Initialized class variables in http_basic_stream.cc that was causing uninitialized memory bugs in valgrind: http://code.google.com/p/chromium/issues/detail?id=87423 Review URL: http://codereview.chromium.org/7251004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90601 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 90373 - Warmth of a connection (cwnd) is estimated by the amount of ↵dimich@chromium.org2011-06-241-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | data written to the socket. Choosing the warmest connection would mean faster resource load times. Caused layout tests http/tests/loading/redirect-methods.html and http/tests/security/xss-DENIED-iframe-src-alias.html fail on deps WebKit bots, and caused http://code.google.com/p/chromium/issues/detail?id=87423 Deps bots failures: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20-%20chromium.org&tests=http%2Ftests%2Floading%2Fredirect-methods.html%2Chttp%2Ftests%2Fsecurity%2Fxss-DENIED-iframe-src-alias.html idle time is the time a socket has remained idle (no http requests being served on it). Probability of server resetting a connection increases with idle time duration. Using a cost function that takes into account bytes transferred and idle time to pick best connection to schedule http requests on. CODEREVIEW done in http://codereview.chromium.org/6990036/ Contributed by gagansingh@google.com Review URL: http://codereview.chromium.org/7189055 TBR=gagansingh@google.com Review URL: http://codereview.chromium.org/7255002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90389 0039d316-1c4b-4281-b951-d872f2087c98
* Warmth of a connection (cwnd) is estimated by the amount of data written to ↵gagansingh@google.com2011-06-241-0/+16
| | | | | | | | | | | | | | | | | | | the socket. Choosing the warmest connection would mean faster resource load times. idle time is the time a socket has remained idle (no http requests being served on it). Probability of server resetting a connection increases with idle time duration. Using a cost function that takes into account bytes transferred and idle time to pick best connection to schedule http requests on. CODEREVIEW done in http://codereview.chromium.org/6990036/ Contributed by gagansingh@google.com Review URL: http://codereview.chromium.org/7189055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90373 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ClientSocket to StreamSocket.sergeyu@chromium.org2011-05-051-1/+1
| | | | | | | | | BUG=80895 TEST=Compiles Review URL: http://codereview.chromium.org/6930014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84167 0039d316-1c4b-4281-b951-d872f2087c98
* Added GetLocalAddress() in net::ClientSocket.sergeyu@chromium.org2011-04-191-0/+4
| | | | | | | | | BUG=None TEST=Unittests Review URL: http://codereview.chromium.org/6840033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82190 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the fallback from SOCKSv4 to SOCKSv4a.eroman@chromium.org2011-03-291-68/+27
| | | | | | | | BUG=56836 Review URL: http://codereview.chromium.org/6719035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79658 0039d316-1c4b-4281-b951-d872f2087c98
* NetLog: Log net error codes on a lot of EndEvents.mmenke@chromium.org2011-02-081-2/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/6349083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74143 0039d316-1c4b-4281-b951-d872f2087c98
* Deinline even more destructors.erg@google.com2010-12-141-0/+4
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5794003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69084 0039d316-1c4b-4281-b951-d872f2087c98
* Add experimental option for TCP FastOpen.mbelshe@chromium.org2010-10-261-0/+9
| | | | | | | | | | | Use chrome.exe --enable-tcp-fastopen BUG=none TEST=none yet Review URL: http://codereview.chromium.org/4039003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63913 0039d316-1c4b-4281-b951-d872f2087c98
* Remove scoped_bstr_win, fix all callers to use the new location.brettw@chromium.org2010-10-201-1/+0
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3748012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63216 0039d316-1c4b-4281-b951-d872f2087c98
* Convert LOG(INFO) to VLOG(1) - net/.pkasting@chromium.org2010-10-161-5/+5
| | | | | | | | | | Also converts COOKIE_DLOG (since VLOG can be toggled on a granular basis), removes some unneeded "endl"s and {}s, aligns "<<"s per style guide, and changes KeygenHandler::GenKeyAndSignChallenge() to avoid using "goto". BUG=none TEST=none Review URL: http://codereview.chromium.org/3846001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62831 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ClientSocketHandle reuse_type(). Correctly track socket use.willchan@chromium.org2010-09-021-0/+8
| | | | | | | | | | | | | In particular, we used to consider that a socket had been used whenever it got returned to the ClientSocketPool. But, with preconnect, that is no longer true. Luckily, we now have UseHistory in the transport sockets. So, I create a WasEverUsed() method in ClientSocket, plumb this into all sockets, and use that in ClientSocketPoolBaseHelper instead of tracking whether or not the socket had been returned to the client or not. This ultimately will have two implications. We will record the correct values in Net.HttpSocketType histograms and we will use the correct timeout for preconnect sockets in ClientSocketPoolBaseHelper::CleanupIdleSockets(). BUG=none TEST=none Review URL: http://codereview.chromium.org/3353004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58363 0039d316-1c4b-4281-b951-d872f2087c98
* Gather preconnection use vs waste statisticsjar@chromium.org2010-08-251-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix a crash where we are checking IsConnected(). If you look into the mbelshe@chromium.org2010-08-251-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | implementation of IsConnected() on windows, you'll find that it can synchronously check if the socket is connected. This makes it so that a CHECK (or DCHECK) on this attribute is dependent on the peer. The peer could send us a TCP-FIN at any time - even 1 nanosecond before our call to IsConnected(). We can only use CHECK(!IsConnected()) to check before we connect, we simply can't use it at runtime. I searched the code and found 4 other instances of this broken check. Most were DCHECKs, which is good, but I've removed them just the same. Turns out our MockSockets have a mechanism for simulating this error, but it wasn't tested nor plumbed through the MockSSLClientSocket. In the process I added a couple of basic proxy test cases, which may be slightly redundant with other test cases that are more advanced. But they seem like a good idea to cover anyway. Added 6 tests in total. BUG=53099 TEST=ProxyTunnelGetHangup, RecycleDeadSSLSocket Review URL: http://codereview.chromium.org/3107036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57295 0039d316-1c4b-4281-b951-d872f2087c98
* More cleanup to address TODOs in net_log.h.eroman@chromium.org2010-04-281-3/+3
| | | | | | | | | | | * Removes 9 methods: AddEventWithParameters, BeginEventWithParameters, EndEventWithParameters, BeginEventWithString, BeginEventWithInteger, AddEventWithString, AddEventWithInteger, EndEventWithParameters, EndEventWithInteger. This was becoming ridiculous, instead made the EventParameters* a required parameter. * Moves CapturingBoundNetLog / CapturingNetLog to its own file. BUG=37421 Review URL: http://codereview.chromium.org/1746012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45843 0039d316-1c4b-4281-b951-d872f2087c98
* Add net log entries that summarize transmit and receive byte counts.vandebo@chromium.org2010-04-231-11/+8
| | | | | | | | | | | | | | | | | | | | | 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
* Implement SOCKSClientSocketPoolvandebo@chromium.org2010-03-221-12/+33
| | | | | | | | | | | | | | This is the first layered pool, so there are several infrastructure changes in this change as well. Add a ConnectionTimeout method to pools so that layered pools can timeout each phase. Add a name method to pools to support per pool UMA histograms. Change SOCKS sockets to take a ClientSocketHandle instead of a ClientSocket BUG=30357 (blocks an SSL Pool) TEST=existing unit tests Review URL: http://codereview.chromium.org/668097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42231 0039d316-1c4b-4281-b951-d872f2087c98
* Generalize the net module's LoadLog facility from a passive container, to an ↵eroman@chromium.org2010-03-161-11/+11
| | | | | | | | | | | | | | | | 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-3/+2
| | | | | | | | | | | | 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
* Add specific error codes for when SOCKS connect fails.eroman@chromium.org2010-02-051-8/+9
| | | | | | | | | | | | | This also fixes HttpNetworkTransaction to fallback to the next proxy after a failure is encountered using a SOCKS proxy server. Note that I decided against using finer granularity error codes, since it just adds a higher maintenance cost to ReconsiderProxyAfterError(). Power users can get better information on the cause of the failure by looking at the LoadLog anyway. BUG=34386 Review URL: http://codereview.chromium.org/567030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38170 0039d316-1c4b-4281-b951-d872f2087c98
* Turn GetPeerName into a pure virtual and provide local impls, this way any ↵thomasvl@chromium.org2010-01-201-2/+0
| | | | | | | | | | 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
* Cancel any outstanding host resolve when calling ↵eroman@chromium.org2010-01-071-0/+7
| | | | | | | | | | | SOCKSClientSocket::Disconnect(). BUG=25440 TEST=SOCKSClientSocketTest.DisconnectWhileHostResolveInProgress Review URL: http://codereview.chromium.org/525084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35747 0039d316-1c4b-4281-b951-d872f2087c98
* Minor cleanup: add a sys_addrinfo.h header that hides the platform-specific ↵eroman@chromium.org2009-12-121-6/+1
| | | | | | | | | | includes needed for struct addrinfo / struct sockaddr, since we were duplicating that #if #else logic in a growing number of places. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/491038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34399 0039d316-1c4b-4281-b951-d872f2087c98
* Add LoadLog to ClientSocket::Connect().willchan@chromium.org2009-11-021-4/+16
| | | | | | | | 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
* Add methods for setting socket buffers to the Socket mbelshe@google.com2009-09-091-0/+8
| | | | | | | | | | | | class. Also add a few stats counters for TCP read/write stats. BUG=none TEST=none Review URL: http://codereview.chromium.org/199048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25803 0039d316-1c4b-4281-b951-d872f2087c98
* LoadLog is used as an output parameter, reorder it to the last parameter.willchan@chromium.org2009-08-141-2/+1
| | | | | | Review URL: http://codereview.chromium.org/164531 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23419 0039d316-1c4b-4281-b951-d872f2087c98