mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-09-10 16:22:50 +02: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,5 +1,6 @@
|
|||
use std::{mem::size_of_val, sync::Arc};
|
||||
|
||||
pub use conduit::pdu::{ShortEventId, ShortId, ShortRoomId};
|
||||
use conduit::{err, implement, utils, Result};
|
||||
use database::{Deserialized, Map};
|
||||
use ruma::{events::StateEventType, EventId, RoomId};
|
||||
|
@ -26,9 +27,6 @@ struct Services {
|
|||
|
||||
pub type ShortStateHash = ShortId;
|
||||
pub type ShortStateKey = ShortId;
|
||||
pub type ShortEventId = ShortId;
|
||||
pub type ShortRoomId = ShortId;
|
||||
pub type ShortId = u64;
|
||||
|
||||
impl crate::Service for Service {
|
||||
fn build(args: crate::Args<'_>) -> Result<Arc<Self>> {
|
||||
|
@ -52,7 +50,7 @@ impl crate::Service for Service {
|
|||
|
||||
#[implement(Service)]
|
||||
pub async fn get_or_create_shorteventid(&self, event_id: &EventId) -> ShortEventId {
|
||||
const BUFSIZE: usize = size_of::<u64>();
|
||||
const BUFSIZE: usize = size_of::<ShortEventId>();
|
||||
|
||||
if let Ok(shorteventid) = self
|
||||
.db
|
||||
|
@ -88,7 +86,7 @@ pub async fn multi_get_or_create_shorteventid(&self, event_ids: &[&EventId]) ->
|
|||
.map(|(i, result)| match result {
|
||||
Ok(ref short) => utils::u64_from_u8(short),
|
||||
Err(_) => {
|
||||
const BUFSIZE: usize = size_of::<u64>();
|
||||
const BUFSIZE: usize = size_of::<ShortEventId>();
|
||||
|
||||
let short = self.services.globals.next_count().unwrap();
|
||||
debug_assert!(size_of_val(&short) == BUFSIZE, "buffer requirement changed");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue