pub struct SqliteMailbox { /* private fields */ }Expand description
SQLite mailbox implementation
Implementations§
Source§impl SqliteMailbox
impl SqliteMailbox
pub async fn new<P: AsRef<Path>>(database_path: P) -> StorageResult<Self>
pub async fn with_config(config: SqliteConfig) -> StorageResult<Self>
Trait Implementations§
Source§impl Mailbox for SqliteMailbox
impl Mailbox for SqliteMailbox
Source§fn enqueue<'life0, 'async_trait>(
&'life0 self,
from: Vec<u8>,
payload: Vec<u8>,
priority: MessagePriority,
) -> Pin<Box<dyn Future<Output = StorageResult<Uuid>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn enqueue<'life0, 'async_trait>(
&'life0 self,
from: Vec<u8>,
payload: Vec<u8>,
priority: MessagePriority,
) -> Pin<Box<dyn Future<Output = StorageResult<Uuid>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Enqueue a message. Read more
Source§fn dequeue<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = StorageResult<Vec<MessageRecord>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn dequeue<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = StorageResult<Vec<MessageRecord>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Dequeue a batch of messages from the queue. Read more
Source§fn ack<'life0, 'async_trait>(
&'life0 self,
message_id: Uuid,
) -> Pin<Box<dyn Future<Output = StorageResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ack<'life0, 'async_trait>(
&'life0 self,
message_id: Uuid,
) -> Pin<Box<dyn Future<Output = StorageResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Acknowledge that a message has been successfully processed, permanently removing it from the queue.
Source§fn status<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = StorageResult<MailboxStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn status<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = StorageResult<MailboxStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get current mailbox statistics.
Source§fn set_depth_observer(&self, observer: Arc<dyn MailboxDepthObserver>) -> bool
fn set_depth_observer(&self, observer: Arc<dyn MailboxDepthObserver>) -> bool
Install a
MailboxDepthObserver that receives a
post-enqueue queued-message count on every enqueue. Read moreAuto Trait Implementations§
impl Freeze for SqliteMailbox
impl RefUnwindSafe for SqliteMailbox
impl Send for SqliteMailbox
impl Sync for SqliteMailbox
impl Unpin for SqliteMailbox
impl UnsafeUnpin for SqliteMailbox
impl UnwindSafe for SqliteMailbox
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more