Fix HTTP/3 bug: uploading payload larger than 65536 will be blocked until timeout.#7538
Fix HTTP/3 bug: uploading payload larger than 65536 will be blocked until timeout.#7538MegatronKing wants to merge 3 commits intocurl:masterfrom
Conversation
|
and the other comment, what do you think about it? |
|
My test cases:
|
That's why I didn't like the fix. So if you make the change I proposed, does it still work or isn't that good enough? |
|
if data->set.postfields is true, a flag NGHTTP3_DATA_FLAG_EOF is set and return, and the value of stream->upload_len would never be updated, right? I think this is a bug. |
0cbeb4f to
29e8844
Compare
|
Agree with the fix is not good enough, I updated! |
|
do you have a HTTP/3 test server somewhere that you can do large posts to, to verify this fix? |
|
Thanks, I pushed this as I believe it does improve things. I still experience problems if I upload multiple megabytes, but after all the data has been sent... |
The upload buffer default size is 65536, if we post a payload larger than this, the first buffer is ok, but when sending the second buffer, the stream will be blocked with a curlcode CURLE_AGAIN. I supoose the cause is the upload_len was not reset.