aboutsummaryrefslogtreecommitdiff
path: root/src/zenhttp/httpclient.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-02-27 13:57:18 +0100
committerGitHub Enterprise <[email protected]>2026-02-27 13:57:18 +0100
commit226ba2cf432ae6c0a787c6156a172f343fc71887 (patch)
treecd6267862c609faa7a85d8fde850b787d1128638 /src/zenhttp/httpclient.cpp
parentadd support in http client to accept multi-range responses (#788) (diff)
downloadzen-226ba2cf432ae6c0a787c6156a172f343fc71887.tar.xz
zen-226ba2cf432ae6c0a787c6156a172f343fc71887.zip
MeasureLatency now bails out quickly if it experiences a connection error (#789)
previously it would stall some 40s in this case
Diffstat (limited to 'src/zenhttp/httpclient.cpp')
-rw-r--r--src/zenhttp/httpclient.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/zenhttp/httpclient.cpp b/src/zenhttp/httpclient.cpp
index 998eb27ea..1cfddb366 100644
--- a/src/zenhttp/httpclient.cpp
+++ b/src/zenhttp/httpclient.cpp
@@ -400,6 +400,13 @@ MeasureLatency(HttpClient& Client, std::string_view Url)
else
{
ErrorMessage = MeasureResponse.ErrorMessage(fmt::format("Unable to measure latency using {}", Url));
+
+ // Connection-level failures (timeout, refused, DNS) mean the endpoint is unreachable.
+ // Bail out immediately — retrying will just burn the connect timeout each time.
+ if (MeasureResponse.Error && MeasureResponse.Error->IsConnectionError())
+ {
+ break;
+ }
}
}