cURL / Mailing Lists / curl-library / Single Mail


batched write without control over future data availability

From: Candid Shot <>
Date: Tue, 11 Oct 2011 14:09:52 -0700 (PDT)


(Summary: How to use libcurl  where we do not have complete data upfront. But callback is not the venue to get future data.)

I am working on an Adapter pattern: one side with simple file read/write semantics without seek. The other side is libcurl based.

In other words, calls to write to a new 'file' start with a simple create() call. Subsequently:
Write() does the actual data transfer: of writing to index 0, and then subsequent calls are assumed with sequential index.
until a close() is issued. Please note, there is no file pointer to read data from. Data comes in a buffer, of some uncertain size.

   write(index 0, size 100) ==> Adapter ==> Curl (Put) operation
   write(index 100, size 200) ==> Adapter ==> Curl (Put) operation.
   write(index 300, size 10) ==> Adapter ==> Curl (Put) operation.

So how can subsequent curl_easy_perform() work on the same stream? Because when the callbacks get to 
the end of 100 bytes in first write() above, it should return a 0. And then would imply an end of stream to Curl.

Should there be a reset of headers to present some kind of 'continue' response?



ps: Google searching for this scenario became difficult, as I did not know what exactly to ask for. 
Did go through some examples. Apologies if this is a repeat question.

List admin:
Received on 2011-10-12