Add separate download timeout to allow download of bigger files or on low bandwidth lines

This commit is contained in:
sapier 2014-06-15 21:30:44 +02:00
parent 24face5249
commit 13517fb726
3 changed files with 4 additions and 0 deletions

@ -212,6 +212,8 @@
# - Downloads performed by main menu (e.g. mod manager) # - Downloads performed by main menu (e.g. mod manager)
# Only has an effect if compiled with cURL # Only has an effect if compiled with cURL
#curl_parallel_limit = 8 #curl_parallel_limit = 8
# maximum time in ms a file download (e.g. a mod download) may take
#curl_file_download_timeout = 300000
# enable usage of remote media server (if provided by server) # enable usage of remote media server (if provided by server)
#enable_remote_media_server = true #enable_remote_media_server = true

@ -153,6 +153,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("curl_timeout", "5000"); settings->setDefault("curl_timeout", "5000");
settings->setDefault("curl_parallel_limit", "8"); settings->setDefault("curl_parallel_limit", "8");
settings->setDefault("curl_file_download_timeout", "300000");
settings->setDefault("enable_remote_media_server", "true"); settings->setDefault("enable_remote_media_server", "true");

@ -523,6 +523,7 @@ bool GUIEngine::downloadFile(std::string url,std::string target)
HTTPFetchResult fetchresult; HTTPFetchResult fetchresult;
fetchrequest.url = url; fetchrequest.url = url;
fetchrequest.caller = HTTPFETCH_SYNC; fetchrequest.caller = HTTPFETCH_SYNC;
fetchrequest.timeout = g_settings->getS32("curl_file_download_timeout");
httpfetch_sync(fetchrequest, fetchresult); httpfetch_sync(fetchrequest, fetchresult);
if (fetchresult.succeeded) { if (fetchresult.succeeded) {