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); |