mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-07-28 10:48:30 +00:00
refactor for stronger RawPduId type
implement standard traits for PduCount enable serde for arrayvec typedef various shortid's pducount simplifications split parts of pdu_metadata service to core/pdu and api/relations remove some yields; improve var names/syntax tweak types for limit timeline limit arguments Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
parent
2e4d9cb37c
commit
9da523c004
41 changed files with 796 additions and 573 deletions
|
@ -1,10 +1,7 @@
|
|||
mod v3;
|
||||
mod v4;
|
||||
|
||||
use conduit::{
|
||||
utils::{math::usize_from_u64_truncated, ReadyExt},
|
||||
PduCount,
|
||||
};
|
||||
use conduit::{utils::ReadyExt, PduCount};
|
||||
use futures::StreamExt;
|
||||
use ruma::{RoomId, UserId};
|
||||
|
||||
|
@ -12,7 +9,7 @@ pub(crate) use self::{v3::sync_events_route, v4::sync_events_v4_route};
|
|||
use crate::{service::Services, Error, PduEvent, Result};
|
||||
|
||||
async fn load_timeline(
|
||||
services: &Services, sender_user: &UserId, room_id: &RoomId, roomsincecount: PduCount, limit: u64,
|
||||
services: &Services, sender_user: &UserId, room_id: &RoomId, roomsincecount: PduCount, limit: usize,
|
||||
) -> Result<(Vec<(PduCount, PduEvent)>, bool), Error> {
|
||||
let last_timeline_count = services
|
||||
.rooms
|
||||
|
@ -29,12 +26,12 @@ async fn load_timeline(
|
|||
.timeline
|
||||
.pdus_until(sender_user, room_id, PduCount::max())
|
||||
.await?
|
||||
.ready_take_while(|(pducount, _)| pducount > &roomsincecount);
|
||||
.ready_take_while(|(pducount, _)| *pducount > roomsincecount);
|
||||
|
||||
// Take the last events for the timeline
|
||||
let timeline_pdus: Vec<_> = non_timeline_pdus
|
||||
.by_ref()
|
||||
.take(usize_from_u64_truncated(limit))
|
||||
.take(limit)
|
||||
.collect::<Vec<_>>()
|
||||
.await
|
||||
.into_iter()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue