pub struct OutboxManager<S, P> { /* private fields */ }Implementations§
Source§impl<S, P> OutboxManager<S, P>
impl<S, P> OutboxManager<S, P>
pub fn new( storage: Arc<S>, publisher: Arc<P>, config: Arc<OutboxConfig>, shutdown_rx: Receiver<bool>, ) -> Self
Sourcepub async fn run(self) -> Result<(), OutboxError>
pub async fn run(self) -> Result<(), OutboxError>
Starts the main outbox worker loop.
This method will run until a shutdown signal is received via the shutdown_rx channel.
It handles event processing, database notifications, and periodic garbage collection.
§Errors
Returns an OutboxError if the worker encounters a terminal failure that it cannot
recover from (though currently the loop primarily logs errors and continues).
Auto Trait Implementations§
impl<S, P> Freeze for OutboxManager<S, P>
impl<S, P> RefUnwindSafe for OutboxManager<S, P>where
S: RefUnwindSafe,
P: RefUnwindSafe,
impl<S, P> Send for OutboxManager<S, P>
impl<S, P> Sync for OutboxManager<S, P>
impl<S, P> Unpin for OutboxManager<S, P>
impl<S, P> UnsafeUnpin for OutboxManager<S, P>
impl<S, P> UnwindSafe for OutboxManager<S, P>where
S: RefUnwindSafe,
P: RefUnwindSafe,
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