input/curl: wait some more before resuming the stream
Pausing and resuming after every little chunk adds lots of overhead. Add a lower level for resuming the stream.
This commit is contained in:
parent
edffc56600
commit
b513943893
@ -51,6 +51,11 @@
|
|||||||
*/
|
*/
|
||||||
static const size_t CURL_MAX_BUFFERED = 512 * 1024;
|
static const size_t CURL_MAX_BUFFERED = 512 * 1024;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resume the stream at this number of bytes after it has been paused.
|
||||||
|
*/
|
||||||
|
static const size_t CURL_RESUME_AT = 384 * 1024;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Buffers created by input_curl_writefunction().
|
* Buffers created by input_curl_writefunction().
|
||||||
*/
|
*/
|
||||||
@ -918,7 +923,7 @@ input_curl_read(struct input_stream *is, void *ptr, size_t size,
|
|||||||
is->offset += (goffset)nbytes;
|
is->offset += (goffset)nbytes;
|
||||||
|
|
||||||
#if LIBCURL_VERSION_NUM >= 0x071200
|
#if LIBCURL_VERSION_NUM >= 0x071200
|
||||||
if (c->paused && curl_total_buffer_size(c) < CURL_MAX_BUFFERED) {
|
if (c->paused && curl_total_buffer_size(c) < CURL_RESUME_AT) {
|
||||||
g_mutex_unlock(c->mutex);
|
g_mutex_unlock(c->mutex);
|
||||||
io_thread_call(input_curl_resume, c);
|
io_thread_call(input_curl_resume, c);
|
||||||
g_mutex_lock(c->mutex);
|
g_mutex_lock(c->mutex);
|
||||||
|
Loading…
Reference in New Issue
Block a user