pub struct BusOutboxPublishHook<S, P> { /* private fields */ }Expand description
Publishes committed outbox rows through publisher and settles their claims
in store. The store must be the same outbox store the commit wrote to.
Implementations§
Trait Implementations§
Source§impl<S, P> OutboxPublishHook for BusOutboxPublishHook<S, P>where
S: AsyncOutboxStore,
P: AsyncMessagePublisher,
impl<S, P> OutboxPublishHook for BusOutboxPublishHook<S, P>where
S: AsyncOutboxStore,
P: AsyncMessagePublisher,
Source§fn publish_claimed<'a>(
&'a self,
claimed: OutboxMessage,
) -> Pin<Box<dyn Future<Output = Result<(), RepositoryError>> + Send + 'a>>
fn publish_claimed<'a>( &'a self, claimed: OutboxMessage, ) -> Pin<Box<dyn Future<Output = Result<(), RepositoryError>> + Send + 'a>>
Publish a committed, claimed outbox row and settle its claim. Publish
failures are absorbed (the row stays retryable for the worker); only a
store error surfaces.
Auto Trait Implementations§
impl<S, P> Freeze for BusOutboxPublishHook<S, P>
impl<S, P> RefUnwindSafe for BusOutboxPublishHook<S, P>where
S: RefUnwindSafe,
P: RefUnwindSafe,
impl<S, P> Send for BusOutboxPublishHook<S, P>
impl<S, P> Sync for BusOutboxPublishHook<S, P>
impl<S, P> Unpin for BusOutboxPublishHook<S, P>
impl<S, P> UnsafeUnpin for BusOutboxPublishHook<S, P>where
S: UnsafeUnpin,
P: UnsafeUnpin,
impl<S, P> UnwindSafe for BusOutboxPublishHook<S, P>where
S: UnwindSafe,
P: UnwindSafe,
Blanket Implementations§
Source§impl<T> AggregateBuilder for T
impl<T> AggregateBuilder for T
fn aggregate<A: Aggregate>(self) -> AggregateRepository<Self, A>
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
Source§impl<T> Queueable for T
impl<T> Queueable for T
Source§fn queued(self) -> QueuedRepository<Self, InMemoryAsyncLockManager>
fn queued(self) -> QueuedRepository<Self, InMemoryAsyncLockManager>
Wrap with the default async lock manager. Pair with
.aggregate::<T>() for per-aggregate serialization over the async
repository surface.Source§fn queued_with<L: AsyncLockManager>(
self,
lock_manager: L,
) -> QueuedRepository<Self, L>
fn queued_with<L: AsyncLockManager>( self, lock_manager: L, ) -> QueuedRepository<Self, L>
Wrap with a custom async lock manager.