diff options
author | Timo Kösters <timo@koesters.xyz> | 2022-10-05 12:45:54 +0200 |
---|---|---|
committer | Nyaaori <+@nyaaori.cat> | 2022-10-10 14:02:00 +0200 |
commit | face766e0f32481fd97a435f1ed8579d8cfc634c (patch) | |
tree | 6985fdee252323a858b6ff29b825d5b48baef61a /src/database/key_value/rooms/search.rs | |
parent | 8708cd3b633d88d260982563f2e2826bc8b12038 (diff) | |
download | conduit-face766e0f32481fd97a435f1ed8579d8cfc634c.zip |
messing with trait objects
Diffstat (limited to 'src/database/key_value/rooms/search.rs')
-rw-r--r-- | src/database/key_value/rooms/search.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/database/key_value/rooms/search.rs b/src/database/key_value/rooms/search.rs index 15937f6..dfbdbc6 100644 --- a/src/database/key_value/rooms/search.rs +++ b/src/database/key_value/rooms/search.rs @@ -2,10 +2,10 @@ use std::mem::size_of; use ruma::RoomId; -use crate::{service, database::KeyValueDatabase, utils, Result}; +use crate::{service, database::KeyValueDatabase, utils, Result, services}; impl service::rooms::search::Data for KeyValueDatabase { - fn index_pdu<'a>(&self, shortroomid: u64, pdu_id: u64, message_body: String) -> Result<()> { + fn index_pdu<'a>(&self, shortroomid: u64, pdu_id: &[u8], message_body: String) -> Result<()> { let mut batch = message_body .split_terminator(|c: char| !c.is_alphanumeric()) .filter(|s| !s.is_empty()) @@ -27,7 +27,7 @@ impl service::rooms::search::Data for KeyValueDatabase { room_id: &RoomId, search_string: &str, ) -> Result<Option<(Box<dyn Iterator<Item = Vec<u8>>>, Vec<String>)>> { - let prefix = self + let prefix = services().rooms.short .get_shortroomid(room_id)? .expect("room exists") .to_be_bytes() @@ -60,11 +60,11 @@ impl service::rooms::search::Data for KeyValueDatabase { }) .map(|iter| { ( - iter.map(move |id| { + Box::new(iter.map(move |id| { let mut pduid = prefix_clone.clone(); pduid.extend_from_slice(&id); pduid - }), + })), words, ) })) |