Chromium Code Reviews| Index: net/spdy/spdy_http_stream.h |
| =================================================================== |
| --- net/spdy/spdy_http_stream.h (revision 145640) |
| +++ net/spdy/spdy_http_stream.h (working copy) |
| @@ -14,6 +14,7 @@ |
| #include "base/memory/weak_ptr.h" |
| #include "net/base/completion_callback.h" |
| #include "net/base/net_log.h" |
| +#include "net/base/upload_data.h" |
| #include "net/http/http_request_info.h" |
| #include "net/http/http_stream.h" |
| #include "net/spdy/spdy_protocol.h" |
| @@ -31,7 +32,8 @@ |
| // The SpdyHttpStream is a HTTP-specific type of stream known to a SpdySession. |
| class NET_EXPORT_PRIVATE SpdyHttpStream : public SpdyStream::Delegate, |
| - public HttpStream { |
| + public HttpStream, |
| + public ChunkCallback { |
| public: |
| SpdyHttpStream(SpdySession* spdy_session, bool direct); |
| virtual ~SpdyHttpStream(); |
| @@ -83,8 +85,10 @@ |
| virtual void OnDataReceived(const char* buffer, int bytes) OVERRIDE; |
| virtual void OnDataSent(int length) OVERRIDE; |
| virtual void OnClose(int status) OVERRIDE; |
| - virtual void set_chunk_callback(ChunkCallback* callback) OVERRIDE; |
| + // ChunkCallback implementation. |
| + virtual void OnChunkAvailable() OVERRIDE; |
| + |
| private: |
| FRIEND_TEST_ALL_PREFIXES(SpdyNetworkTransactionSpdy2Test, |
| FlowControlStallResume); |
| @@ -95,6 +99,12 @@ |
| FRIEND_TEST_ALL_PREFIXES(SpdyNetworkTransactionSpdy3Test, |
| FlowControlNegativeSendWindowSize); |
| + // Reads the data from the request body stream and sends the data by calling |
| + // SpdyStream::WriteStreamData. In the case of chunked uploads, if data is not |
|
Ryan Hamilton
2012/07/09 17:52:02
nit: can you change "SpdyStream::WriteStreamData"
ramant (doing other things)
2012/07/11 01:36:18
Done.
|
| + // available, returns ERR_IO_PENDING, and the write will be completed at a |
|
Ryan Hamilton
2012/07/09 17:52:02
Can you add a comment that explains the return val
ramant (doing other things)
2012/07/11 01:36:18
Done.
|
| + // later time. |
| + int SendData(); |
| + |
| // Call the user callback. |
| void DoCallback(int rv); |
| @@ -147,6 +157,9 @@ |
| // Is this spdy stream direct to the origin server (or to a proxy). |
| bool direct_; |
| + // Is the connection stalled waiting for an upload data chunk. |
| + bool waiting_for_chunk_; |
| + |
| bool send_last_chunk_; |
| DISALLOW_COPY_AND_ASSIGN(SpdyHttpStream); |