grapevine/src/service/sending/data.rs
Charles Hall 0afc1d2f50
change rustfmt configuration
This change is fully automated, except the `rustfmt.toml` changes and
a few clippy directives to allow specific functions with too many lines
because they are longer now.
2024-05-16 19:11:40 -07:00

45 lines
1.3 KiB
Rust

use ruma::ServerName;
use super::{OutgoingKind, SendingEventType};
use crate::Result;
pub(crate) trait Data: Send + Sync {
#[allow(clippy::type_complexity)]
fn active_requests<'a>(
&'a self,
) -> Box<
dyn Iterator<Item = Result<(Vec<u8>, OutgoingKind, SendingEventType)>>
+ 'a,
>;
fn active_requests_for<'a>(
&'a self,
outgoing_kind: &OutgoingKind,
) -> Box<dyn Iterator<Item = Result<(Vec<u8>, SendingEventType)>> + 'a>;
fn delete_active_request(&self, key: Vec<u8>) -> Result<()>;
fn delete_all_active_requests_for(
&self,
outgoing_kind: &OutgoingKind,
) -> Result<()>;
fn delete_all_requests_for(
&self,
outgoing_kind: &OutgoingKind,
) -> Result<()>;
fn queue_requests(
&self,
requests: &[(&OutgoingKind, SendingEventType)],
) -> Result<Vec<Vec<u8>>>;
fn queued_requests<'a>(
&'a self,
outgoing_kind: &OutgoingKind,
) -> Box<dyn Iterator<Item = Result<(SendingEventType, Vec<u8>)>> + 'a>;
fn mark_as_active(
&self,
events: &[(SendingEventType, Vec<u8>)],
) -> Result<()>;
fn set_latest_educount(
&self,
server_name: &ServerName,
educount: u64,
) -> Result<()>;
fn get_latest_educount(&self, server_name: &ServerName) -> Result<u64>;
}