pub struct TenantDovecote { /* private fields */ }Expand description
PostgreSQL Dovecote operations restricted to one validated tenant.
Implementations§
Source§impl TenantDovecote
impl TenantDovecote
Sourcepub async fn bind_tenant<'c>(
&self,
transaction: &mut Transaction<'c, Postgres>,
) -> Result<(), Error>
pub async fn bind_tenant<'c>( &self, transaction: &mut Transaction<'c, Postgres>, ) -> Result<(), Error>
Binds this tenant to a transaction for the optional PostgreSQL RLS profile. Adapter predicates remain active even without RLS.
Sourcepub async fn enqueue<'c>(
&self,
transaction: &mut Transaction<'c, Postgres>,
event: NewEvent,
) -> Result<EnqueueOutcome, EnqueueError>
pub async fn enqueue<'c>( &self, transaction: &mut Transaction<'c, Postgres>, event: NewEvent, ) -> Result<EnqueueOutcome, EnqueueError>
Enqueues an event for this tenant in the caller-owned transaction.
Sourcepub async fn import_for_migration<'c>(
&self,
transaction: &mut Transaction<'c, Postgres>,
event: NewEvent,
state: ImportedDeliveryState,
) -> Result<ImportOutcome, ImportError>
pub async fn import_for_migration<'c>( &self, transaction: &mut Transaction<'c, Postgres>, event: NewEvent, state: ImportedDeliveryState, ) -> Result<ImportOutcome, ImportError>
Imports one event and legacy state for this tenant.
Sourcepub async fn finalize_pending_delivery_for_migration<'c>(
&self,
transaction: &mut Transaction<'c, Postgres>,
row_id: RowId,
delivered_at: OffsetDateTime,
) -> Result<FinalizeOutcome, FinalizeError>
pub async fn finalize_pending_delivery_for_migration<'c>( &self, transaction: &mut Transaction<'c, Postgres>, row_id: RowId, delivered_at: OffsetDateTime, ) -> Result<FinalizeOutcome, FinalizeError>
Finalizes one canonical pending migration row for this tenant.
Sourcepub async fn page(
&self,
after_row_id: Option<RowId>,
limit: Limit,
) -> Result<Vec<PagedEvent>, PageError>
pub async fn page( &self, after_row_id: Option<RowId>, limit: Limit, ) -> Result<Vec<PagedEvent>, PageError>
Reads a live page restricted to this tenant.
Sourcepub async fn begin_snapshot(&self) -> Result<SnapshotPager, PageError>
pub async fn begin_snapshot(&self) -> Result<SnapshotPager, PageError>
Begins a finite snapshot pager restricted to this tenant.
Sourcepub async fn claim(
&self,
worker: WorkerId,
lease_for: Lease,
limit: Limit,
) -> Result<Vec<ClaimedEvent>, ClaimError>
pub async fn claim( &self, worker: WorkerId, lease_for: Lease, limit: Limit, ) -> Result<Vec<ClaimedEvent>, ClaimError>
Claims pending and expired deliveries for this tenant.
Sourcepub async fn renew(
&self,
row_id: RowId,
claim_token: &ClaimToken,
lease_for: Lease,
) -> Result<(), MutationError>
pub async fn renew( &self, row_id: RowId, claim_token: &ClaimToken, lease_for: Lease, ) -> Result<(), MutationError>
Renews one current claim for this tenant.
Sourcepub async fn ack(
&self,
row_id: RowId,
claim_token: &ClaimToken,
) -> Result<(), MutationError>
pub async fn ack( &self, row_id: RowId, claim_token: &ClaimToken, ) -> Result<(), MutationError>
Acknowledges one current claim for this tenant.
Sourcepub async fn retry(
&self,
row_id: RowId,
claim_token: &ClaimToken,
failure: &Failure,
backoff: Delay,
) -> Result<(), MutationError>
pub async fn retry( &self, row_id: RowId, claim_token: &ClaimToken, failure: &Failure, backoff: Delay, ) -> Result<(), MutationError>
Returns one current claim to pending for this tenant.
Sourcepub async fn release(
&self,
row_id: RowId,
claim_token: &ClaimToken,
delay: Delay,
) -> Result<(), MutationError>
pub async fn release( &self, row_id: RowId, claim_token: &ClaimToken, delay: Delay, ) -> Result<(), MutationError>
Releases one current claim for this tenant.
Sourcepub async fn quarantine(
&self,
row_id: RowId,
claim_token: &ClaimToken,
reason: &QuarantineReason,
) -> Result<(), MutationError>
pub async fn quarantine( &self, row_id: RowId, claim_token: &ClaimToken, reason: &QuarantineReason, ) -> Result<(), MutationError>
Quarantines one current claim for this tenant.
Trait Implementations§
Source§impl Clone for TenantDovecote
impl Clone for TenantDovecote
Source§fn clone(&self) -> TenantDovecote
fn clone(&self) -> TenantDovecote
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for TenantDovecote
impl !UnwindSafe for TenantDovecote
impl Freeze for TenantDovecote
impl Send for TenantDovecote
impl Sync for TenantDovecote
impl Unpin for TenantDovecote
impl UnsafeUnpin for TenantDovecote
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more