Skip to content

Commit 2efd3f6

Browse files
maximevanheesLeeSmet
authored andcommitted
Reuse client instead of creating new instance every time in loop
1 parent 241c5c5 commit 2efd3f6

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

src/relay/federation/router.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pub(crate) struct Router<D: TwinDB> {
1818
sink: Option<Sink>,
1919
twins: D,
2020
ranker: RelayRanker,
21+
client: Client,
2122
}
2223

2324
impl<D> Router<D>
@@ -29,6 +30,7 @@ where
2930
sink: Some(sink),
3031
twins,
3132
ranker,
33+
client: Client::new(),
3234
}
3335
}
3436

@@ -46,8 +48,7 @@ where
4648
format!("https://{}/", domain.as_ref())
4749
};
4850
log::debug!("federation to: {}", url);
49-
let client = Client::new();
50-
let resp = match client.post(&url).body(msg.clone()).send().await {
51+
let resp = match self.client.post(&url).body(msg.clone()).send().await {
5152
Ok(resp) => resp,
5253
Err(err) => {
5354
log::warn!(
@@ -179,7 +180,8 @@ mod test {
179180
let work_runner = Router {
180181
sink: None,
181182
twins: db,
182-
ranker: ranker,
183+
ranker,
184+
client: Client::new(),
183185
};
184186
let mut worker_pool = WorkerPool::new(work_runner, 2);
185187
let mut env = Envelope::new();

0 commit comments

Comments
 (0)