Here we have four connections to the same HTTP/2 server with multiplex enabled. We need to pause them before handling its body, so I paused the connection. After a while
for each connection, we pause the connection just after the first write function call by returning CURL_WRITEFUNC_PAUSE.
wait for a while.
unpause the connections from main function (outside curl_multi_perform())
all body data is delivered to the last unpaued connection as a one big chunk.
I expected the following
File 2-good-unpause-from-main.cpp is basically same except it unpause from progress function. It works as expected. Also if the server is HTTP/1.1, then both file works fine.
I did this
Here we have four connections to the same HTTP/2 server with multiplex enabled. We need to pause them before handling its body, so I paused the connection. After a while
Here is the extracted issue:
https://gist.github.com/basuke/59b0b92183846f0424a66f1b3d53cdc6
File
1-ng-unpause-from-main.cpp
I expected the following
File
2-good-unpause-from-main.cpp
is basically same except it unpause from progress function. It works as expected. Also if the server is HTTP/1.1, then both file works fine.curl/libcurl version
curl 7.57.0 (x86_64-apple-darwin16.7.0) libcurl/7.57.0 OpenSSL/1.0.2n zlib/1.2.8 nghttp2/1.29.0
Release-Date: 2017-11-29
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS Debug TrackMemory IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy
operating system
Mac OS X Sierra 10.12.6
Windows 10 Fall Creators Update
The text was updated successfully, but these errors were encountered: