|
|
@ -10,7 +10,7 @@ impl service::rooms::threads::Data for KeyValueDatabase {
|
|
|
|
user_id: &'a UserId,
|
|
|
|
user_id: &'a UserId,
|
|
|
|
room_id: &'a RoomId,
|
|
|
|
room_id: &'a RoomId,
|
|
|
|
until: u64,
|
|
|
|
until: u64,
|
|
|
|
include: &'a IncludeThreads,
|
|
|
|
_include: &'a IncludeThreads,
|
|
|
|
) -> Result<Box<dyn Iterator<Item = Result<(u64, PduEvent)>> + 'a>> {
|
|
|
|
) -> Result<Box<dyn Iterator<Item = Result<(u64, PduEvent)>> + 'a>> {
|
|
|
|
let prefix = services()
|
|
|
|
let prefix = services()
|
|
|
|
.rooms
|
|
|
|
.rooms
|
|
|
@ -27,7 +27,7 @@ impl service::rooms::threads::Data for KeyValueDatabase {
|
|
|
|
self.threadid_userids
|
|
|
|
self.threadid_userids
|
|
|
|
.iter_from(¤t, true)
|
|
|
|
.iter_from(¤t, true)
|
|
|
|
.take_while(move |(k, _)| k.starts_with(&prefix))
|
|
|
|
.take_while(move |(k, _)| k.starts_with(&prefix))
|
|
|
|
.map(move |(pduid, users)| {
|
|
|
|
.map(move |(pduid, _users)| {
|
|
|
|
let count = utils::u64_from_bytes(&pduid[(mem::size_of::<u64>())..])
|
|
|
|
let count = utils::u64_from_bytes(&pduid[(mem::size_of::<u64>())..])
|
|
|
|
.map_err(|_| Error::bad_database("Invalid pduid in threadid_userids."))?;
|
|
|
|
.map_err(|_| Error::bad_database("Invalid pduid in threadid_userids."))?;
|
|
|
|
let mut pdu = services()
|
|
|
|
let mut pdu = services()
|
|
|
|