summaryrefslogtreecommitdiffstats
path: root/net/http/http_stream_parser.h
diff options
context:
space:
mode:
authorrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-15 20:44:21 +0000
committerrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-15 20:44:21 +0000
commit4750937f28e4646c8ffaa063913f104fee29ad13 (patch)
tree507e1fe63f1a48c79a22e331955d129f79d1557f /net/http/http_stream_parser.h
parent683e08b6585ff4f98332a69660a7dd85047ae203 (diff)
downloadchromium_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.h2
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();