services/sending: avoid unnecessary clone

This commit is contained in:
Lambda 2025-02-09 17:51:12 +00:00 committed by Charles Hall
parent ed12b0bf67
commit d9c7fbbd82
No known key found for this signature in database
GPG key ID: 7B8E0645816E07CF
3 changed files with 6 additions and 9 deletions

View file

@ -55,7 +55,7 @@ impl service::sending::Data for KeyValueDatabase {
fn queue_requests(
&self,
requests: &[(&Destination, SendingEventType)],
requests: &[(&Destination, &SendingEventType)],
) -> Result<Vec<RequestKey>> {
let mut batch = Vec::new();
let mut keys = Vec::new();

View file

@ -576,8 +576,7 @@ impl Service {
) -> Result<()> {
let destination = Destination::Push(user.to_owned(), pushkey);
let event_type = SendingEventType::Pdu(pdu_id.to_owned());
let keys =
self.db.queue_requests(&[(&destination, event_type.clone())])?;
let keys = self.db.queue_requests(&[(&destination, &event_type)])?;
self.sender
.send(RequestData {
destination,
@ -606,7 +605,7 @@ impl Service {
})
.collect::<Vec<_>>();
let keys = self.db.queue_requests(
&requests.iter().map(|(o, e)| (o, e.clone())).collect::<Vec<_>>(),
&requests.iter().map(|(o, e)| (o, e)).collect::<Vec<_>>(),
)?;
for ((destination, event_type), key) in requests.into_iter().zip(keys) {
self.sender
@ -631,8 +630,7 @@ impl Service {
) -> Result<()> {
let destination = Destination::Normal(server.to_owned());
let event_type = SendingEventType::Edu(serialized);
let keys =
self.db.queue_requests(&[(&destination, event_type.clone())])?;
let keys = self.db.queue_requests(&[(&destination, &event_type)])?;
self.sender
.send(RequestData {
destination,
@ -653,8 +651,7 @@ impl Service {
) -> Result<()> {
let destination = Destination::Appservice(appservice_id);
let event_type = SendingEventType::Pdu(pdu_id);
let keys =
self.db.queue_requests(&[(&destination, event_type.clone())])?;
let keys = self.db.queue_requests(&[(&destination, &event_type)])?;
self.sender
.send(RequestData {
destination,

View file

@ -22,7 +22,7 @@ pub(crate) trait Data: Send + Sync {
) -> Result<()>;
fn queue_requests(
&self,
requests: &[(&Destination, SendingEventType)],
requests: &[(&Destination, &SendingEventType)],
) -> Result<Vec<RequestKey>>;
fn queued_requests<'a>(
&'a self,