Skip to main content

PendingRecord

Struct PendingRecord 

Source
pub struct PendingRecord {
    pub subject: PendingSubject,
    pub reason: PendingReason,
    pub cause: Option<String>,
}
Expand description

One local first unmet condition, identified by its subject (§19.1, E5).

Fields§

§subject: PendingSubject

The work that cannot advance.

§reason: PendingReason

The first condition in its processing order.

§cause: Option<String>

The text of the error behind reason: the provider, disk or database failure, naming every cause below it. coven_pending.cause keeps it beside the record, written in the same step. Only the run that met the error writes one: opening clears every cause, and a record whose last failure went back to an app call has none. It names the failure and is no part of the record’s identity: equality ignores it, and record leaves it out.

Implementations§

Source§

impl PendingRecord

Source

pub fn new(subject: PendingSubject, reason: PendingReason) -> PendingRecord

The record of subject’s first unmet condition, with no cause.

Source

pub fn retry(&self) -> Retry

Retry according to the cause and the owner of the unfinished work.

Trait Implementations§

Source§

impl Clone for PendingRecord

Source§

fn clone(&self) -> PendingRecord

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PendingRecord

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for PendingRecord

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<PendingRecord, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for PendingRecord

The subject and its reason, then the error behind it when the record keeps one, such as Operation { .. }: Storage { .. }: S3: Network: ….

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl FromSql for PendingRecord

A record as coven’s coven_uploads and coven_pending views hold it (api.md E4), without its cause: coven_pending.cause holds that.

Source§

fn column_result(value: ValueRef<'_>) -> Result<PendingRecord, FromSqlError>

Converts SQLite value into Rust value.
Source§

impl PartialEq for PendingRecord

Source§

fn eq(&self, other: &PendingRecord) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PendingValue for PendingRecord

Source§

const BUILD: u128 = 290421909248628099607276278153671938459u128

Drawn at random each time this crate compiles. Every refusal is made here, from checks in this crate and in the crates it depends on, so a change to any of that code, or to a dependency, compiles this crate again and draws another. A version number would not do: development never moves it, so a refusal a since-fixed bug made would never be rechecked.

Source§

fn can_retry(&self, recorded_build: u128, schema_version: u32) -> bool

A refusal is a verdict on bytes that never change, judged against what never changes either: only another build can judge it differently, and each other build checks it once (§19.1).

Source§

type Subject = PendingSubject

Stable identity, ordered as the app presents it.
Source§

fn provider_access( id: OperationId, account: String, grant: bool, ) -> PendingRecord

Report one account’s unresolved intended sharing change.
Source§

fn reload(audience: Audience) -> PendingRecord

Report an audience whose selected boundary has no committed data input.
Source§

fn writes_refused(slot: Slot, cutoff: Slot, cause: WriteCutoff) -> PendingRecord

Report a batch consumed after a preceding removal or key replacement.
Source§

fn raise_wait(write: WriteId, audience: Audience, version: u32) -> PendingRecord

Report this device’s queued write held until audience is raised to version (§18.5).
Source§

fn raise_awaited(&self) -> Option<(WriteId, &Audience, u32)>

The held write, and the audience and version it waits for a raise to, if this record is such a wait: a store state that reaches it ends the record as it installs.
Source§

fn subject(&self) -> &PendingSubject

The work that cannot advance.
Source§

fn operation(&self) -> Option<OperationId>

The journal row, if this record describes an operation.
Source§

fn move_of(&self) -> Option<MoveId>

The move this record describes, if any: cancelling the move ends it.
Source§

fn pin_of(&self) -> Option<FileId>

The file whose pin coven keeps this record describes, if any: the record ends with the pin request.
Source§

fn object(&self) -> Option<(FileWork, DeviceId, ObjectId)>

The stored object this record describes, by its uploader and id, and which work on it, if any: how coven’s views join a record to the rows whose file it is.
Source§

fn slot(&self) -> Option<Slot>

Sequence slot whose progress clears this observation.
Source§

fn ends_when_covered(&self) -> bool

Whether a slot coverage including this object without applying it, as a loaded snapshot’s do, also end this observation: true for a write that waits, false for a verdict on its bytes, which loading never clears (§19.1).
Source§

fn cause(&self) -> Option<&str>

The text of the error behind this record, which _coven_pending keeps beside it in the same write: none when no error was met in this run, or when an app call received it.
Source§

fn with_cause(self, cause: Option<String>) -> PendingRecord

This record as read back, with the cause its row keeps.
Source§

impl Serialize for PendingRecord

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for PendingRecord

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,