pub struct Opens<Level>(/* private fields */);Expand description
What the table’s transactions open at, a level marker: set by
InboxSpec::opens.
§Examples
use chrono::{DateTime, Utc};
use ruststream_sqlx::dialect::{Column, level};
use ruststream_sqlx::spec::{Lease, Opens, Payload};
use ruststream_sqlx::{InboxSpec, InboxTable};
#[derive(sqlx::FromRow)]
pub struct PrintJob {
id: i64,
payload: Vec<u8>,
}
impl InboxTable for PrintJob {
type Id = i64;
// A transaction takes the database's write lock as it begins, not at its first write.
type Table = InboxSpec<(Lease<DateTime<Utc>>, Opens<level::Immediate>, Payload)>;
const TABLE: Self::Table = InboxSpec::new("print_jobs", Column::new("id").generated())
.lease(Column::new("locked_until"))
.opens::<level::Immediate>()
.payload(Column::new("payload"));
fn id(&self) -> &i64 {
&self.id
}
}Trait Implementations§
Source§impl<Level> Declaration for Opens<Level>
impl<Level> Declaration for Opens<Level>
Source§type RetryAfter = Unset
type RetryAfter = Unset
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 = Set<Opens<Level>>
type Opening = Set<Opens<Level>>
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<Level> Freeze for Opens<Level>
impl<Level> RefUnwindSafe for Opens<Level>
impl<Level> Send for Opens<Level>
impl<Level> Sync for Opens<Level>
impl<Level> Unpin for Opens<Level>
impl<Level> UnsafeUnpin for Opens<Level>
impl<Level> UnwindSafe for Opens<Level>
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