From 157f262cd2e8503b59ddfee7608989d5e8c296e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 24 Jan 2024 09:50:26 +0100 Subject: [PATCH] Make some timeouts a bit more visible in the code. Some should be re-evaluated. --- Core/FileLoaders/HTTPFileLoader.cpp | 13 +++++++------ Core/FileLoaders/HTTPFileLoader.h | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Core/FileLoaders/HTTPFileLoader.cpp b/Core/FileLoaders/HTTPFileLoader.cpp index 2f75ba294a..1aba908484 100644 --- a/Core/FileLoaders/HTTPFileLoader.cpp +++ b/Core/FileLoaders/HTTPFileLoader.cpp @@ -128,8 +128,10 @@ int HTTPFileLoader::SendHEAD(const Url &url, std::vector &responseH return -400; } - client_.SetDataTimeout(20.0); - Connect(); + double timeout = 20.0; + + client_.SetDataTimeout(timeout); + Connect(10.0); if (!connected_) { ERROR_LOG(LOADER, "HTTP request failed, failed to connect: %s port %d (resource: '%s')", url.Host().c_str(), url.Port(), url.Resource().c_str()); latestError_ = "Could not connect (refused to connect)"; @@ -186,7 +188,7 @@ size_t HTTPFileLoader::ReadAt(s64 absolutePos, size_t bytes, void *data, Flags f return 0; } - Connect(); + Connect(10.0); if (!connected_) { return 0; } @@ -258,10 +260,9 @@ size_t HTTPFileLoader::ReadAt(s64 absolutePos, size_t bytes, void *data, Flags f return readBytes; } -void HTTPFileLoader::Connect() { +void HTTPFileLoader::Connect(double timeout) { if (!connected_) { cancel_ = false; - // Latency is important here, so reduce the timeout. - connected_ = client_.Connect(3, 10.0, &cancel_); + connected_ = client_.Connect(3, timeout, &cancel_); } } diff --git a/Core/FileLoaders/HTTPFileLoader.h b/Core/FileLoaders/HTTPFileLoader.h index e4bf8ee9be..303271467d 100644 --- a/Core/FileLoaders/HTTPFileLoader.h +++ b/Core/FileLoaders/HTTPFileLoader.h @@ -58,7 +58,7 @@ private: void Prepare(); int SendHEAD(const Url &url, std::vector &responseHeaders); - void Connect(); + void Connect(double timeout); void Disconnect() { if (connected_) {