conduwuit/src/database/key_value/rooms/pdu_metadata.rs

28 lines
968 B
Rust
Raw Normal View History

impl service::room::pdu_metadata::Data for KeyValueDatabase {
fn mark_as_referenced(&self, room_id: &RoomId, event_ids: &[Arc<EventId>]) -> Result<()> {
for prev in event_ids {
let mut key = room_id.as_bytes().to_vec();
key.extend_from_slice(prev.as_bytes());
self.referencedevents.insert(&key, &[])?;
}
Ok(())
}
fn is_event_referenced(&self, room_id: &RoomId, event_id: &EventId) -> Result<bool> {
2021-07-20 12:41:35 +02:00
let mut key = room_id.as_bytes().to_vec();
key.extend_from_slice(event_id.as_bytes());
Ok(self.referencedevents.get(&key)?.is_some())
}
fn mark_event_soft_failed(&self, event_id: &EventId) -> Result<()> {
self.softfailedeventids.insert(event_id.as_bytes(), &[])
2021-08-28 11:39:33 +02:00
}
fn is_event_soft_failed(&self, event_id: &EventId) -> Result<bool> {
2021-08-28 11:39:33 +02:00
self.softfailedeventids
.get(event_id.as_bytes())
2021-08-28 11:39:33 +02:00
.map(|o| o.is_some())
}
}