Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
libcurl: stop reading from connection when client has paused receivin… #3240
Goal: Allow libcurl pause-unpause behavior to control flow of data from server with limited memory consumption.
Setup: Using curl_multi_perform to transfer GBs of data from a server that is setup using a curl_easy_handle. (HTTP 1.1 and HTTP 2) When it is not possible to accept data, the WRITEFUNCTION returns CURL_WRITEFUNC_PAUSE. Curl stops sending data to the write function.
Root cause, in my opinion:
bagder left a comment
I can only agree that this appears to be completely sensible. It's also a bit complicated to add a test for, so while the green CI tests are a good sign we also know that we don't have any tests for this particular code path.