cleanup: reuse api rather than querying db
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
parent
c5c74febb5
commit
238523f177
1 changed files with 9 additions and 5 deletions
|
@ -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()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue