Skip to main content

Module spec

Module spec 

Source
Expand description

The settings of a queue table described by hand, as types.

Each typed setter of InboxSpec adds one marker of this module to the table’s settings, and the table’s type Table lists them in the order the chain sets them. A setting the chain leaves out keeps its default: the row lock form, row mode, the SystemClock, the database’s default opening and the crate’s events. A setting set twice does not compile (Merge), and neither does a combination of settings no table can hold.

Modules§

own
The events a service writes itself, each set by InboxSpec::own; the row implements the event’s trait.

Structs§

Advisory
The advisory lock form: set by InboxSpec::advisory.
Attempt
The attempt count: set by InboxSpec::attempt.
Clock
The clock the table reads now from, a TimeSource: set by InboxSpec::clock.
Fifo
Groups kept in order: set by InboxSpec::fifo_group.
HeaderFields
The delivery’s headers, built from the row’s header fields: set by InboxSpec::header_fields.
Headers
The delivery’s headers, read from one column: set by InboxSpec::headers.
Key
The partition key: set by InboxSpec::partition_key.
Lease
The lease form, its expiry in Time: set by InboxSpec::lease.
Opens
What the table’s transactions open at, a level marker: set by InboxSpec::opens.
Payload
Payload mode: set by InboxSpec::payload.
ProcessedAt
The time a row was processed, in Time: set by InboxSpec::processed_at.
RetryAfter
The time a retried row is due, in Time: set by InboxSpec::retry_after.
Set
A setting a table sets, with the marker that sets it.
Unset
A setting a table leaves at its default.

Traits§

Declaration
The settings of a table, one associated type per setting: Unset where the table keeps the default, Set with the marker that sets it otherwise.
Merge
Folds one setting of two declarations into one; a setting set by both has no fold.
OpeningLevel
An isolation level or a SQLite mode as a level marker, which InboxSpec::opens takes.
OwnEvent
An event a service writes itself: a marker of own, which InboxSpec::own takes.
Push
Appends a marker to a tuple of markers: what a typed setter of a table’s spec does to its settings.