pub struct RetryAfter<Time>(/* private fields */);Expand description
The time a retried row is due, in Time: set by
InboxSpec::retry_after.
§Examples
use chrono::{DateTime, Utc};
use ruststream_sqlx::dialect::Column;
use ruststream_sqlx::spec::{Payload, RetryAfter};
use ruststream_sqlx::{InboxSpec, InboxTable};
#[derive(sqlx::FromRow)]
pub struct Delivery {
id: i64,
payload: Vec<u8>,
}
impl InboxTable for Delivery {
type Id = i64;
// A retried webhook waits until `retry_after`, a `DATETIME(6)` read as UTC.
type Table = InboxSpec<(RetryAfter<DateTime<Utc>>, Payload)>;
const TABLE: Self::Table = InboxSpec::new("webhook_deliveries", Column::new("id").generated())
.retry_after(Column::new("retry_after").generated())
.payload(Column::new("payload"));
fn id(&self) -> &i64 {
&self.id
}
}Trait Implementations§
Source§impl<Time: Debug> Debug for RetryAfter<Time>
impl<Time: Debug> Debug for RetryAfter<Time>
Source§impl<Time> Declaration for RetryAfter<Time>
impl<Time> Declaration for RetryAfter<Time>
Source§type RetryAfter = Set<RetryAfter<Time>>
type RetryAfter = Set<RetryAfter<Time>>
The time a retried row is due:
RetryAfter.Source§type ProcessedAt = Unset
type ProcessedAt = Unset
The time a row was processed:
ProcessedAt.Source§type Opening = Unset
type Opening = Unset
What the table’s transactions open at:
Opens; unset for the database’s
default.Source§type OwnClaim = Unset
type OwnClaim = Unset
The service’s own claim:
own::Claim.Source§type OwnFetch = Unset
type OwnFetch = Unset
The service’s own fetch:
own::Fetch.Source§type OwnRetry = Unset
type OwnRetry = Unset
The service’s own retry:
own::Retry.Source§type OwnRetryAfter = Unset
type OwnRetryAfter = Unset
The service’s own delayed retry:
own::RetryAfter.Source§type OwnDiscard = Unset
type OwnDiscard = Unset
The service’s own discard:
own::Discard.Source§type OwnDeadLetter = Unset
type OwnDeadLetter = Unset
The service’s own dead letter:
own::DeadLetter.Source§type OwnExtend = Unset
type OwnExtend = Unset
The service’s own lease extension:
own::Extend.Source§type OwnUnlock = Unset
type OwnUnlock = Unset
The service’s own unlock:
own::Unlock.Auto Trait Implementations§
impl<Time> Freeze for RetryAfter<Time>
impl<Time> RefUnwindSafe for RetryAfter<Time>
impl<Time> Send for RetryAfter<Time>
impl<Time> Sync for RetryAfter<Time>
impl<Time> Unpin for RetryAfter<Time>
impl<Time> UnsafeUnpin for RetryAfter<Time>
impl<Time> UnwindSafe for RetryAfter<Time>
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
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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> ⓘ
Converts
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> ⓘ
Converts
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