summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTimo Kösters <timo@koesters.xyz>2023-02-22 22:09:15 +0100
committerTimo Kösters <timo@koesters.xyz>2023-03-13 10:39:18 +0100
commit8b648d0d3f1e6bb4f9299ddaaa5502b1b5815718 (patch)
treeff953edb0e6377a30296a60637860644ae2f7b9b /src
parent4617ee2b6b763f66bfc6a018471dfdb2170db5da (diff)
downloadconduit-8b648d0d3f1e6bb4f9299ddaaa5502b1b5815718.zip
fix: force abort federation requests after 2 minutes
Diffstat (limited to 'src')
-rw-r--r--src/service/sending/mod.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/service/sending/mod.rs b/src/service/sending/mod.rs
index 1861feb..e0e2f54 100644
--- a/src/service/sending/mod.rs
+++ b/src/service/sending/mod.rs
@@ -684,7 +684,15 @@ impl Service {
T: Debug,
{
let permit = self.maximum_requests.acquire().await;
- let response = server_server::send_request(destination, request).await;
+ let response = tokio::time::timeout(
+ Duration::from_secs(2 * 60),
+ server_server::send_request(destination, request),
+ )
+ .await
+ .map_err(|_| {
+ warn!("Timeout waiting for server response of {destination}");
+ Error::BadServerResponse("Timeout waiting for server response")
+ })?;
drop(permit);
response