diff options
author | Timo Kösters <timo@koesters.xyz> | 2023-02-22 22:09:15 +0100 |
---|---|---|
committer | Timo Kösters <timo@koesters.xyz> | 2023-03-13 10:39:18 +0100 |
commit | 8b648d0d3f1e6bb4f9299ddaaa5502b1b5815718 (patch) | |
tree | ff953edb0e6377a30296a60637860644ae2f7b9b /src | |
parent | 4617ee2b6b763f66bfc6a018471dfdb2170db5da (diff) | |
download | conduit-8b648d0d3f1e6bb4f9299ddaaa5502b1b5815718.zip |
fix: force abort federation requests after 2 minutes
Diffstat (limited to 'src')
-rw-r--r-- | src/service/sending/mod.rs | 10 |
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 |