From dd6621a720b03ca18a7e0fca6881923c373e3cac Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Tue, 22 Oct 2024 07:07:42 +0000 Subject: [PATCH] reduce unnecessary clone in pdu handler Signed-off-by: Jason Volk --- src/api/server/send.rs | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/api/server/send.rs b/src/api/server/send.rs index e2100a0f..4f526052 100644 --- a/src/api/server/send.rs +++ b/src/api/server/send.rs @@ -118,15 +118,12 @@ async fn handle_pdus( .lock(&room_id) .await; - resolved_map.insert( - event_id.clone(), - services - .rooms - .event_handler - .handle_incoming_pdu(origin, &room_id, &event_id, value, true) - .await - .map(|_| ()), - ); + let result = services + .rooms + .event_handler + .handle_incoming_pdu(origin, &room_id, &event_id, value, true) + .await + .map(|_| ()); drop(mutex_lock); debug!( @@ -134,12 +131,14 @@ async fn handle_pdus( txn_elapsed = ?txn_start_time.elapsed(), "Finished PDU {event_id}", ); + + resolved_map.insert(event_id, result); } - for pdu in &resolved_map { - if let Err(e) = pdu.1 { + for (id, result) in &resolved_map { + if let Err(e) = result { if matches!(e, Error::BadRequest(ErrorKind::NotFound, _)) { - warn!("Incoming PDU failed {pdu:?}"); + warn!("Incoming PDU failed {id}: {e:?}"); } } }