From 7680d1bd5e856630e670a739b912c4d183061911 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Tue, 19 Nov 2024 08:14:02 +0000 Subject: [PATCH] replace yields point with consume_budget Signed-off-by: Jason Volk --- src/api/client/sync/v3.rs | 1 - src/database/map/get.rs | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/api/client/sync/v3.rs b/src/api/client/sync/v3.rs index ea487d8e..77ba4c3f 100644 --- a/src/api/client/sync/v3.rs +++ b/src/api/client/sync/v3.rs @@ -757,7 +757,6 @@ async fn load_joined_room( }; delta_state_events.push(pdu); - tokio::task::yield_now().await; } } } diff --git a/src/database/map/get.rs b/src/database/map/get.rs index 2f7df031..a3c6c492 100644 --- a/src/database/map/get.rs +++ b/src/database/map/get.rs @@ -2,9 +2,10 @@ use std::{convert::AsRef, fmt::Debug, future::Future, io::Write}; use arrayvec::ArrayVec; use conduit::{err, implement, utils::IterStream, Result}; -use futures::{future::ready, Stream}; +use futures::{FutureExt, Stream}; use rocksdb::DBPinnableSlice; use serde::Serialize; +use tokio::task; use crate::{ser, util, Handle}; @@ -55,7 +56,8 @@ pub fn get(&self, key: &K) -> impl Future>> + Send where K: AsRef<[u8]> + ?Sized + Debug, { - ready(self.get_blocking(key)) + let result = self.get_blocking(key); + task::consume_budget().map(move |()| result) } /// Fetch a value from the database into cache, returning a reference-handle.