From 7f6c19f0668d95757bd1bb42964816c2f6549e5f Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Thu, 4 Apr 2024 17:48:12 -0700 Subject: [PATCH] fix using same federation reqwest pool after sender deduplication. Signed-off-by: Jason Volk --- src/service/sending/mod.rs | 6 ++++-- src/service/sending/send.rs | 11 ++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/service/sending/mod.rs b/src/service/sending/mod.rs index c666bc94..c802278b 100644 --- a/src/service/sending/mod.rs +++ b/src/service/sending/mod.rs @@ -234,7 +234,8 @@ impl Service { { let permit = self.maximum_requests.acquire().await; let timeout = Duration::from_secs(self.timeout); - let response = tokio::time::timeout(timeout, send::send_request(dest, request)) + let client = &services().globals.client.federation; + let response = tokio::time::timeout(timeout, send::send_request(client, dest, request)) .await .map_err(|_| { warn!("Timeout after 300 seconds waiting for server response of {dest}"); @@ -781,8 +782,9 @@ async fn handle_events_kind_normal( } let permit = services().sending.maximum_requests.acquire().await; - + let client = &services().globals.client.sender; let response = send::send_request( + client, dest, send_transaction_message::v1::Request { origin: services().globals.server_name().to_owned(), diff --git a/src/service/sending/send.rs b/src/service/sending/send.rs index a415a3d6..ebd01570 100644 --- a/src/service/sending/send.rs +++ b/src/service/sending/send.rs @@ -44,7 +44,9 @@ pub enum FedDest { } #[tracing::instrument(skip_all, name = "send")] -pub(crate) async fn send_request(destination: &ServerName, request: T) -> Result +pub(crate) async fn send_request( + client: &reqwest::Client, destination: &ServerName, request: T, +) -> Result where T: OutgoingRequest + Debug, { @@ -202,12 +204,7 @@ where } debug!("Sending request to {destination} at {url}"); - let response = services() - .globals - .client - .federation - .execute(reqwest_request) - .await; + let response = client.execute(reqwest_request).await; debug!("Received response from {destination} at {url}"); match response {