pub trait MailboxStore {
// Required methods
fn store_message<'life0, 'async_trait>(
&'life0 self,
recipient_hash: [u8; 32],
msg: EncryptedMessage,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn fetch_messages<'life0, 'async_trait>(
&'life0 self,
recipient_hash: [u8; 32],
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<EncryptedMessage>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_messages<'life0, 'async_trait>(
&'life0 self,
recipient_hash: [u8; 32],
msg_ids: Vec<Uuid>,
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn cleanup_expired<'life0, 'async_trait>(
&'life0 self,
max_age: Duration,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
A trait for managing mailbox operations.