summaryrefslogtreecommitdiffstats
path: root/net/spdy/spdy_stream.h
Commit message (Collapse)AuthorAgeFilesLines
* Fixes the tests written for http://codereview.chromium.org/3432009/showrch@chromium.org2010-10-011-0/+7
| | | | | | | | | | | | | | | | | | to use DeterministicSocketData which should avoid the flaky test problem that 3432009 introduced. -- Add a new class SpdyProxyClientSocket which implements ClientSocket by sending a CONNECT request via a SPDY SYN_STREAM frame to a SPDY proxy, and then reading/writing data to/from SPDY Data frames. BUG=29625 TEST=none Review URL: http://codereview.chromium.org/3578002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61144 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 60747 - Add a new class SpdyProxyClientSocket which implements ↵rch@chromium.org2010-09-281-7/+0
| | | | | | | | | | | | | | | | | ClientSocket by sending a CONNECT request via a SPDY SYN_STREAM frame to a SPDY proxy, and then reading/writing data to/from SPDY Data frames. BUG=29625 TEST=none Review URL: http://codereview.chromium.org/3432009 TBR=rch@chromium.org Review URL: http://codereview.chromium.org/3391029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60754 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new class SpdyProxyClientSocket which implements ClientSocketrch@chromium.org2010-09-281-0/+7
| | | | | | | | | | | | by sending a CONNECT request via a SPDY SYN_STREAM frame to a SPDY proxy, and then reading/writing data to/from SPDY Data frames. BUG=29625 TEST=none Review URL: http://codereview.chromium.org/3432009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60747 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate spdy_session from using LOG() to NetLog. In the process, I'mmbelshe@chromium.org2010-09-011-2/+4
| | | | | | | | | | | | | | | trying to move to a more consistent model of logging between the SpdySession, SpdyStream, and HttpNetworkTransaction. Frame-level events belong on the session, so that we can get a clean view of what happened on the session. I'll be updating the spdy_stream next. BUG=53956 TEST=none Review URL: http://codereview.chromium.org/3212010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58145 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY flow control: add support for receive window sizeagayev@chromium.org2010-08-261-0/+16
| | | | | | | | | BUG=48100 TEST=net_unittests Review URL: http://codereview.chromium.org/3137014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57453 0039d316-1c4b-4281-b951-d872f2087c98
* Missed a file from last checkin. histograms_recorded member variable ismbelshe@chromium.org2010-08-231-1/+0
| | | | | | | | | | | no longer needed. (I thought we had a warning for that?) BUG=none TEST=none Review URL: http://codereview.chromium.org/3199013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57056 0039d316-1c4b-4281-b951-d872f2087c98
* Extract connection logic from HttpNetworkTransaction into a newmbelshe@chromium.org2010-08-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HttpStreamFactory. The HttpNetworkTransaction now deals exclusively with streams rather than connections directly. This cut the size of HTN roughly in in half. The HttpNetworkTransaction is still responsible for all proxy and server authentication functions. This is because the streams may come and go - we could create a stream, have the server declare auth is needed, and then the next attempt would be on a different stream. So Auth belongs on the HNT. The HNT no longer has direct access to the connection itself; instead, it only knows of an HttpStream. The StreamRequest, however, is responsible for determining whether the connection needs to use a proxy, whether AlternateProtocols are available, and whether the connection should be SPDY or HTTP. Other changes: - moved some static configuration methods from HNT to HttpStreamFactory. - added some methods to the HttpStream. BUG=none TEST=all Review URL: http://codereview.chromium.org/3171002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56646 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY flow control: fix for WINDOW_UPDATEs arriving while request is being sent.agayev@chromium.org2010-08-171-6/+7
| | | | | | | | | BUG=48100 TEST=net_unittests Review URL: http://codereview.chromium.org/3048058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56355 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up SpdyStream.erikchen@google.com2010-08-061-23/+15
| | | | | | | | | | Removed a lot of duplicate/unnecessary logic. BUG=none TEST=none Review URL: http://codereview.chromium.org/3075023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55308 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY: flow-control fix: resume I/O once a WINDOW_UPDATE frame is received ↵agayev@chromium.org2010-08-051-1/+7
| | | | | | | | | | | for a stalled stream. BUG=none TEST=net_unittests Review URL: http://codereview.chromium.org/3018019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55125 0039d316-1c4b-4281-b951-d872f2087c98
* Implement server push protocol 2.erikchen@google.com2010-08-051-0/+9
| | | | | | | | | TEST=net_unittests BUG=34761 Review URL: http://codereview.chromium.org/3020032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55095 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
* SPDY flow control: enforce obeying send window size via a command-line ↵agayev@chromium.org2010-07-221-6/+12
| | | | | | | | | | | switch, initial support for receive window size. BUG=48100 TEST=net_unittestss --gtest_filter="SpdyProtocolTest.ControlFrameStructs:SpdyNetworkTransactionTest.WindowUpdate:SpdyNetworkTransactionTest.WindowUpdateOverflow" Review URL: http://codereview.chromium.org/3052005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53297 0039d316-1c4b-4281-b951-d872f2087c98
* Initial SPDY flow control supportagayev@chromium.org2010-07-201-0/+9
| | | | | | | | | | | BUG=48100 TEST=net_unittests --gtest_filter="SpdyProtocolTest.ControlFrameStructs:SpdyNetworkTransactionTest.WindowSizeChange:SpdyNetworkTransactionTest.WindowSizeOverflow" Contributed by: agayev@google.com Review URL: http://codereview.chromium.org/2805083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53039 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor SpdyStream state for WebSocket supportukai@chromium.org2010-07-201-7/+10
| | | | | | | | | | | | | | In HTTP, it doesn't use STATE_READ_BODY/STATE_READ_BODY_COMPLETE states. Reading body message is handled in OnDataReceived() and DoLoop() is not involved in this state. In WebSocket, it will send frame after handshake has been finished, and need to get how many data has been written. STATE_OPEN handles this. BUG=none TEST=none Review URL: http://codereview.chromium.org/2962015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53000 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52352 - SPDY: Initial support for handling WINDOW_UPDATE frames and ↵cbentzel@chromium.org2010-07-141-9/+0
| | | | | | | | | | | | | | | | some cleanup. BUG=48100 TEST=net_unittests --gtest_filter="SpdyProtocolTest.ControlFrameStructs:SpdyNetworkTransactionTest.WindowSizeChange:SpdyNetworkTransactionTest.WindowSizeOverflow" Contributed by: agayev@google.com Review URL: http://codereview.chromium.org/2807042 TBR=cbentzel@chromium.org Review URL: http://codereview.chromium.org/2908010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52362 0039d316-1c4b-4281-b951-d872f2087c98
* SPDY: Initial support for handling WINDOW_UPDATE frames and some cleanup.cbentzel@chromium.org2010-07-141-0/+9
| | | | | | | | | | | BUG=48100 TEST=net_unittests --gtest_filter="SpdyProtocolTest.ControlFrameStructs:SpdyNetworkTransactionTest.WindowSizeChange:SpdyNetworkTransactionTest.WindowSizeOverflow" Contributed by: agayev@google.com Review URL: http://codereview.chromium.org/2807042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52352 0039d316-1c4b-4281-b951-d872f2087c98
* TBR: reverting broken commiterikchen@google.com2010-07-121-18/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52113 0039d316-1c4b-4281-b951-d872f2087c98
* Streams send a Rst frame upon being closed by client. Some minor editorial ↵erikchen@google.com2010-07-121-3/+18
| | | | | | | | | | | | | fixes. TEST=net_unittests BUG=46589 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=51007 Review URL: http://codereview.chromium.org/2804008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52106 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Streams send a Rst frame upon being closed by client. Some minor ↵oshima@chromium.org2010-06-281-18/+3
| | | | | | | | | | | | editorial fixes." This reverts commit 699468c59a6563db5fb3fb4739c6710a279a4067. TBR=erikchen@google.com Review URL: http://codereview.chromium.org/2852029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51011 0039d316-1c4b-4281-b951-d872f2087c98
* Streams send a Rst frame upon being closed by client. Some minor editorial ↵erikchen@google.com2010-06-281-3/+18
| | | | | | | | | | | fixes. TEST=net_unittests BUG=46589 Review URL: http://codereview.chromium.org/2804008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51007 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove svn:executable from a bunch of files.thestig@chromium.org2010-06-251-0/+0
| | | | | | | | BUG=none TEST=checkperms.py passes Review URL: http://codereview.chromium.org/2850030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50887 0039d316-1c4b-4281-b951-d872f2087c98
* Ignore duplicate SYN_REPLYs on the same stream. Added a unit test.mlloyd@chromium.org2010-06-241-0/+4
| | | | | | | | | BUG=45639 TEST=Added unit test, which caused an ASSERT fail before but now passes. Review URL: http://codereview.chromium.org/2871015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50751 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed bug where streams do not shutdown properly after the user callback ↵erikchen@google.com2010-06-241-55/+82
| | | | | | | | | | | | | | | | | | | deletes the stream. Added a unit test. TEST=net_unittests BUG=46925 Merge branch 'trunk' of http://src.chromium.org/git/chromium into ukai_delegate_fix Revert "Revert 50215 because of crashes - Refactor SpdyStream to get HTTP specific out of the interface and members." This reverts commit 8f9bf3b9ba6663aeef7fbdab3edf16aeaa510f84. Review URL: http://codereview.chromium.org/2810022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50739 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 50215 because of crashes - Refactor SpdyStream to get HTTP specific ↵willchan@chromium.org2010-06-181-82/+55
| | | | | | | | | | | | | | | | | | | | | out of the interface and members. Add SpdyStream::Delegate interface and SpdyHttpStream implements SpdyStream::Delegate. SpdyHeaderBlock<>HTTP request/response conversion functions moved from spdy_session.cc to spdy_http_stream.cc. All interface between SpdySession and SpdyStream uses SpdyHeaderBlock instead of HttpRequestInfo,HttpResponseInfo. BUG=42320,46925 TEST=none Review URL: http://codereview.chromium.org/2667002 TBR=ukai@chromium.org Review URL: http://codereview.chromium.org/2827015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50268 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor SpdyStream to get HTTP specific out of the interface and members.ukai@chromium.org2010-06-181-55/+82
| | | | | | | | | | | | | | | | Add SpdyStream::Delegate interface and SpdyHttpStream implements SpdyStream::Delegate. SpdyHeaderBlock<->HTTP request/response conversion functions moved from spdy_session.cc to spdy_http_stream.cc. All interface between SpdySession and SpdyStream uses SpdyHeaderBlock instead of HttpRequestInfo,HttpResponseInfo. BUG=42320 TEST=none Review URL: http://codereview.chromium.org/2667002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50215 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor SpdyStream.ukai@chromium.org2010-06-141-73/+42
| | | | | | | | | | | | | | | Split SpdyStream into two parts: base SpdyStream and SpdyHttpStream. SpdyStream is an interface to SpdySession and provides base implementation as spdy stream. SpdyHttpStream is derived class of SpdyStream and used for [Spdy|Http]NetworkTransaction. BUG=42320 TEST=none Review URL: http://codereview.chromium.org/2564001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49667 0039d316-1c4b-4281-b951-d872f2087c98
* Add SPDY SYN_STREAM and SYN_REPLY events to about:net-internals.willchan@chromium.org2010-05-131-2/+4
| | | | | | | | BUG=43237 Review URL: http://codereview.chromium.org/2004010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47174 0039d316-1c4b-4281-b951-d872f2087c98
* Fix valgrind memcheck issues with GetPushStream unit test.cbentzel@chromium.org2010-05-101-3/+12
| | | | | | | | | BUG=None TEST=valgrind --leak-check=yes net_unittests --gtest_filter="*SpdySessionTest.GetPushStream*" Review URL: http://codereview.chromium.org/1951001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46823 0039d316-1c4b-4281-b951-d872f2087c98
* Fix SPDY crash where we receive an early SYN_REPLY.mbelshe@chromium.org2010-05-051-1/+2
| | | | | | | | | | | | | | | Added a test case which simulates this by doing a POST and scheduling the SYN_REPLY to arrive before we've finished sending. Also improved the error checking in SpdyStream a bit. BUG=43133 TEST=SpdyNetworkTransactionTest.PostWithEarlySynReply Review URL: http://codereview.chromium.org/1931003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46505 0039d316-1c4b-4281-b951-d872f2087c98
* SpdySession now sets the following fields in HttpResponseInfo: ahendrickson@google.com2010-03-251-3/+14
| | | | | | | | | | | | | | | | | | | | | | | request_time response_time vary_data There is also a unit test to exercise the new functionality. - Changed CreateSpdyHeadersFromHttpRequest() to use std::string::append() rather than std::string::operator+() to append a single '\0' character to the string, as the former does nothing. - Now using SpdyFramer. - The unit tests now include all server push cases. BUG=34505 TEST=Run netunittests.exe --gtest_filter=SpdyNetworkTransactionTest.* Review URL: http://codereview.chromium.org/634002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42660 0039d316-1c4b-4281-b951-d872f2087c98
* Generalize the net module's LoadLog facility from a passive container, to an ↵eroman@chromium.org2010-03-161-3/+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
* Modify the SPDY stream to be buffered.mbelshe@chromium.org2010-02-261-0/+10
| | | | | | | | | | | | | | | | | Discovered that passing small chunks of data to the renderer can cause the renderer to get backlogged. With SPDY, data chunks are always framed into smallish chunks (say ~4KB). So where HTTP would only send a couple of large chunks to the renderer to satisfy a resource load, SPDY may send many, and this was surprisingly slow. BUG=none TEST=SpdyNetworkTransactionTest.FullBuffer Review URL: http://codereview.chromium.org/652209 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40073 0039d316-1c4b-4281-b951-d872f2087c98
* The great Flip -> Spdy rename.mbelshe@chromium.org2010-02-081-24/+24
| | | | | | | | | BUG=30747 TEST=none Review URL: http://codereview.chromium.org/580009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38386 0039d316-1c4b-4281-b951-d872f2087c98
* Rename all files from flip* to spdy*.mbelshe@chromium.org2010-02-061-0/+211
I haven't yet renamed the classes. BUG=30747 TEST=none Review URL: http://codereview.chromium.org/582001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38315 0039d316-1c4b-4281-b951-d872f2087c98