summaryrefslogtreecommitdiff
path: root/src/database/key_value/rooms/search.rs
diff options
context:
space:
mode:
authorTimo Kösters <timo@koesters.xyz>2022-10-05 12:45:54 +0200
committerNyaaori <+@nyaaori.cat>2022-10-10 14:02:00 +0200
commitface766e0f32481fd97a435f1ed8579d8cfc634c (patch)
tree6985fdee252323a858b6ff29b825d5b48baef61a /src/database/key_value/rooms/search.rs
parent8708cd3b633d88d260982563f2e2826bc8b12038 (diff)
downloadconduit-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.rs10
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,
)
}))