diff options
author | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-15 20:44:21 +0000 |
---|---|---|
committer | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-15 20:44:21 +0000 |
commit | 4750937f28e4646c8ffaa063913f104fee29ad13 (patch) | |
tree | 507e1fe63f1a48c79a22e331955d129f79d1557f /net/http/http_stream_parser.h | |
parent | 683e08b6585ff4f98332a69660a7dd85047ae203 (diff) | |
download | chromium_src-4750937f28e4646c8ffaa063913f104fee29ad13.zip chromium_src-4750937f28e4646c8ffaa063913f104fee29ad13.tar.gz chromium_src-4750937f28e4646c8ffaa063913f104fee29ad13.tar.bz2 |
Do not enqueue multiple socket writes performing an HTTP chunked request
When performing an HTTP request that uses a chunked transfer encoding, and
both the underlying socket and the UploadDataStream provide data
asynchronously, ensure that writes to the underlying socket maintain a
strict ordering and that only one callback (socket write, chunked data
available) is pending at a time.
BUG=132243
TEST=HttpStreamParser.AsyncChunkAndAsyncSocket
Review URL: https://chromiumcodereview.appspot.com/10536138
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142470 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_stream_parser.h')
-rw-r--r-- | net/http/http_stream_parser.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/http/http_stream_parser.h b/net/http/http_stream_parser.h index aee5236..44de8d7 100644 --- a/net/http/http_stream_parser.h +++ b/net/http/http_stream_parser.h @@ -115,6 +115,7 @@ class NET_EXPORT_PRIVATE HttpStreamParser : public ChunkCallback { // or not. STATE_SENDING_CHUNKED_BODY, STATE_SENDING_NON_CHUNKED_BODY, + STATE_SEND_REQUEST_WAIT_FOR_BODY_CHUNK_COMPLETE, STATE_REQUEST_SENT, STATE_READ_HEADERS, STATE_READ_HEADERS_COMPLETE, @@ -147,6 +148,7 @@ class NET_EXPORT_PRIVATE HttpStreamParser : public ChunkCallback { int DoSendHeaders(int result); int DoSendChunkedBody(int result); int DoSendNonChunkedBody(int result); + int DoSendRequestWaitForBodyChunkComplete(int result); int DoReadHeaders(); int DoReadHeadersComplete(int result); int DoReadBody(); |