cleanup: reuse api rather than querying db

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-11-25 21:01:15 +00:00
parent c5c74febb5
commit 238523f177

View file

@ -19,7 +19,6 @@ use crate::{
}; };
pub(super) struct Data { pub(super) struct Data {
eventid_shorteventid: Arc<Map>,
shorteventid_shortstatehash: Arc<Map>, shorteventid_shortstatehash: Arc<Map>,
services: Services, services: Services,
} }
@ -35,7 +34,6 @@ impl Data {
pub(super) fn new(args: &crate::Args<'_>) -> Self { pub(super) fn new(args: &crate::Args<'_>) -> Self {
let db = &args.db; let db = &args.db;
Self { Self {
eventid_shorteventid: db["eventid_shorteventid"].clone(),
shorteventid_shortstatehash: db["shorteventid_shortstatehash"].clone(), shorteventid_shortstatehash: db["shorteventid_shortstatehash"].clone(),
services: Services { services: Services {
short: args.depend::<rooms::short::Service>("rooms::short"), short: args.depend::<rooms::short::Service>("rooms::short"),
@ -167,9 +165,15 @@ impl Data {
/// Returns the state hash for this pdu. /// Returns the state hash for this pdu.
pub(super) async fn pdu_shortstatehash(&self, event_id: &EventId) -> Result<ShortStateHash> { pub(super) async fn pdu_shortstatehash(&self, event_id: &EventId) -> Result<ShortStateHash> {
self.eventid_shorteventid const BUFSIZE: usize = size_of::<ShortEventId>();
.get(event_id)
.and_then(|shorteventid| self.shorteventid_shortstatehash.get(&shorteventid)) self.services
.short
.get_shorteventid(event_id)
.and_then(|shorteventid| {
self.shorteventid_shortstatehash
.aqry::<BUFSIZE, _>(&shorteventid)
})
.await .await
.deserialized() .deserialized()
} }