mirror of
https://gitlab.computer.surgery/matrix/grapevine.git
synced 2025-12-17 07:41:23 +01:00
services/sending: avoid unnecessary clone
This commit is contained in:
parent
ed12b0bf67
commit
d9c7fbbd82
3 changed files with 6 additions and 9 deletions
|
|
@ -55,7 +55,7 @@ impl service::sending::Data for KeyValueDatabase {
|
||||||
|
|
||||||
fn queue_requests(
|
fn queue_requests(
|
||||||
&self,
|
&self,
|
||||||
requests: &[(&Destination, SendingEventType)],
|
requests: &[(&Destination, &SendingEventType)],
|
||||||
) -> Result<Vec<RequestKey>> {
|
) -> Result<Vec<RequestKey>> {
|
||||||
let mut batch = Vec::new();
|
let mut batch = Vec::new();
|
||||||
let mut keys = Vec::new();
|
let mut keys = Vec::new();
|
||||||
|
|
|
||||||
|
|
@ -576,8 +576,7 @@ impl Service {
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
let destination = Destination::Push(user.to_owned(), pushkey);
|
let destination = Destination::Push(user.to_owned(), pushkey);
|
||||||
let event_type = SendingEventType::Pdu(pdu_id.to_owned());
|
let event_type = SendingEventType::Pdu(pdu_id.to_owned());
|
||||||
let keys =
|
let keys = self.db.queue_requests(&[(&destination, &event_type)])?;
|
||||||
self.db.queue_requests(&[(&destination, event_type.clone())])?;
|
|
||||||
self.sender
|
self.sender
|
||||||
.send(RequestData {
|
.send(RequestData {
|
||||||
destination,
|
destination,
|
||||||
|
|
@ -606,7 +605,7 @@ impl Service {
|
||||||
})
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
let keys = self.db.queue_requests(
|
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) {
|
for ((destination, event_type), key) in requests.into_iter().zip(keys) {
|
||||||
self.sender
|
self.sender
|
||||||
|
|
@ -631,8 +630,7 @@ impl Service {
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
let destination = Destination::Normal(server.to_owned());
|
let destination = Destination::Normal(server.to_owned());
|
||||||
let event_type = SendingEventType::Edu(serialized);
|
let event_type = SendingEventType::Edu(serialized);
|
||||||
let keys =
|
let keys = self.db.queue_requests(&[(&destination, &event_type)])?;
|
||||||
self.db.queue_requests(&[(&destination, event_type.clone())])?;
|
|
||||||
self.sender
|
self.sender
|
||||||
.send(RequestData {
|
.send(RequestData {
|
||||||
destination,
|
destination,
|
||||||
|
|
@ -653,8 +651,7 @@ impl Service {
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
let destination = Destination::Appservice(appservice_id);
|
let destination = Destination::Appservice(appservice_id);
|
||||||
let event_type = SendingEventType::Pdu(pdu_id);
|
let event_type = SendingEventType::Pdu(pdu_id);
|
||||||
let keys =
|
let keys = self.db.queue_requests(&[(&destination, &event_type)])?;
|
||||||
self.db.queue_requests(&[(&destination, event_type.clone())])?;
|
|
||||||
self.sender
|
self.sender
|
||||||
.send(RequestData {
|
.send(RequestData {
|
||||||
destination,
|
destination,
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ pub(crate) trait Data: Send + Sync {
|
||||||
) -> Result<()>;
|
) -> Result<()>;
|
||||||
fn queue_requests(
|
fn queue_requests(
|
||||||
&self,
|
&self,
|
||||||
requests: &[(&Destination, SendingEventType)],
|
requests: &[(&Destination, &SendingEventType)],
|
||||||
) -> Result<Vec<RequestKey>>;
|
) -> Result<Vec<RequestKey>>;
|
||||||
fn queued_requests<'a>(
|
fn queued_requests<'a>(
|
||||||
&'a self,
|
&'a self,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue