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: PendingSubjectThe work that cannot advance.
reason: PendingReasonThe 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
impl PendingRecord
Sourcepub fn new(subject: PendingSubject, reason: PendingReason) -> PendingRecord
pub fn new(subject: PendingSubject, reason: PendingReason) -> PendingRecord
The record of subject’s first unmet condition, with no cause.
Trait Implementations§
Source§impl Clone for PendingRecord
impl Clone for PendingRecord
Source§fn clone(&self) -> PendingRecord
fn clone(&self) -> PendingRecord
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PendingRecord
impl Debug for PendingRecord
Source§impl<'de> Deserialize<'de> for PendingRecord
impl<'de> Deserialize<'de> for PendingRecord
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PendingRecord, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PendingRecord, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
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: ….
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§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.
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>
fn column_result(value: ValueRef<'_>) -> Result<PendingRecord, FromSqlError>
Source§impl PartialEq for PendingRecord
impl PartialEq for PendingRecord
Source§impl PendingValue for PendingRecord
impl PendingValue for PendingRecord
Source§const BUILD: u128 = 290421909248628099607276278153671938459u128
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
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
type Subject = PendingSubject
Source§fn provider_access(
id: OperationId,
account: String,
grant: bool,
) -> PendingRecord
fn provider_access( id: OperationId, account: String, grant: bool, ) -> PendingRecord
Source§fn reload(audience: Audience) -> PendingRecord
fn reload(audience: Audience) -> PendingRecord
Source§fn writes_refused(slot: Slot, cutoff: Slot, cause: WriteCutoff) -> PendingRecord
fn writes_refused(slot: Slot, cutoff: Slot, cause: WriteCutoff) -> PendingRecord
Source§fn raise_wait(write: WriteId, audience: Audience, version: u32) -> PendingRecord
fn raise_wait(write: WriteId, audience: Audience, version: u32) -> PendingRecord
audience is raised to
version (§18.5).Source§fn raise_awaited(&self) -> Option<(WriteId, &Audience, u32)>
fn raise_awaited(&self) -> Option<(WriteId, &Audience, u32)>
Source§fn subject(&self) -> &PendingSubject
fn subject(&self) -> &PendingSubject
Source§fn operation(&self) -> Option<OperationId>
fn operation(&self) -> Option<OperationId>
Source§fn move_of(&self) -> Option<MoveId>
fn move_of(&self) -> Option<MoveId>
Source§fn pin_of(&self) -> Option<FileId>
fn pin_of(&self) -> Option<FileId>
Source§fn object(&self) -> Option<(FileWork, DeviceId, ObjectId)>
fn object(&self) -> Option<(FileWork, DeviceId, ObjectId)>
Source§fn ends_when_covered(&self) -> bool
fn ends_when_covered(&self) -> bool
Source§fn cause(&self) -> Option<&str>
fn cause(&self) -> Option<&str>
_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
fn with_cause(self, cause: Option<String>) -> PendingRecord
Source§impl Serialize for PendingRecord
impl Serialize for PendingRecord
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for PendingRecord
Auto Trait Implementations§
impl Freeze for PendingRecord
impl !RefUnwindSafe for PendingRecord
impl Send for PendingRecord
impl Sync for PendingRecord
impl Unpin for PendingRecord
impl UnsafeUnpin for PendingRecord
impl !UnwindSafe for PendingRecord
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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