summaryrefslogtreecommitdiff
path: root/src/database/key_value/rooms/state.rs
diff options
context:
space:
mode:
authorTimo Kösters <timo@koesters.xyz>2022-10-05 15:33:57 +0200
committerNyaaori <+@nyaaori.cat>2022-10-10 14:02:00 +0200
commitcff52d7ebb5066f3d8e513488b84a431c0093e65 (patch)
tree597e030b6f52c5282625a51fd0d7e0e799ea7e00 /src/database/key_value/rooms/state.rs
parentface766e0f32481fd97a435f1ed8579d8cfc634c (diff)
downloadconduit-cff52d7ebb5066f3d8e513488b84a431c0093e65.zip
messing around with arcs
Diffstat (limited to 'src/database/key_value/rooms/state.rs')
-rw-r--r--src/database/key_value/rooms/state.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/database/key_value/rooms/state.rs b/src/database/key_value/rooms/state.rs
index 405939d..527c240 100644
--- a/src/database/key_value/rooms/state.rs
+++ b/src/database/key_value/rooms/state.rs
@@ -1,11 +1,12 @@
use ruma::{RoomId, EventId};
+use tokio::sync::MutexGuard;
use std::sync::Arc;
-use std::{sync::MutexGuard, collections::HashSet};
+use std::collections::HashSet;
use std::fmt::Debug;
use crate::{service, database::KeyValueDatabase, utils, Error, Result};
-impl service::rooms::state::Data for KeyValueDatabase {
+impl service::rooms::state::Data for Arc<KeyValueDatabase> {
fn get_room_shortstatehash(&self, room_id: &RoomId) -> Result<Option<u64>> {
self.roomid_shortstatehash
.get(room_id.as_bytes())?
@@ -48,7 +49,7 @@ impl service::rooms::state::Data for KeyValueDatabase {
fn set_forward_extremities<'a>(
&self,
room_id: &RoomId,
- event_ids: impl IntoIterator<Item = &'a EventId> + Debug,
+ event_ids: &mut dyn Iterator<Item = &'a EventId>,
_mutex_lock: &MutexGuard<'_, ()>, // Take mutex guard to make sure users get the room state mutex
) -> Result<()> {
let mut prefix = room_id.as_bytes().to_vec();