pub struct OperationRecord {Show 20 fields
pub ref: Option<RecordRef>,
pub client_operation_id: String,
pub version: Vec<u8>,
pub state: i32,
pub completed_units: u64,
pub total_units: Option<u64>,
pub unit: String,
pub cancellation_supported: bool,
pub cancellation_requested: bool,
pub failure: Option<CallFailure>,
pub results: Vec<EntityRef>,
pub requirements: Vec<Requirement>,
pub actions: Vec<ActionAvailability>,
pub import_report: Option<ImportReport>,
pub subject: Option<OperationSubject>,
pub created_at: Option<Timestamp>,
pub started_at: Option<Timestamp>,
pub finished_at: Option<Timestamp>,
pub retry_of: Option<OperationRef>,
pub superseded_by: Option<OperationRef>,
}Fields§
§ref: Option<RecordRef>§client_operation_id: String§version: Vec<u8>§state: i32§completed_units: u64§total_units: Option<u64>§unit: String§cancellation_supported: bool§cancellation_requested: bool§failure: Option<CallFailure>§results: Vec<EntityRef>§requirements: Vec<Requirement>§actions: Vec<ActionAvailability>Current observed affordances. Clients still submit against this record’s exact version; the server rechecks authorization at command admission.
import_report: Option<ImportReport>§subject: Option<OperationSubject>§created_at: Option<Timestamp>Admission, first execution, and terminal completion/failure/cancellation. Omit unknown times; queued cancellation may finish without ever starting. When present: created <= started <= finished. Pause/resume retains start. Display times never establish causality or replace this record’s CAS.
started_at: Option<Timestamp>§finished_at: Option<Timestamp>§retry_of: Option<OperationRef>Direct predecessor/replacement, recorded atomically at retry admission. Same subject/destination; no cycles/self-links. Original execution history stays intact; updating supersession metadata advances the observed version.
superseded_by: Option<OperationRef>A superseded failure is historical, not live, even if the retry is queued or fails. At most one direct replacement; historical attempts offer no further retry. Omit unreadable links; absence then means unknown.
Implementations§
Source§impl OperationRecord
impl OperationRecord
Trait Implementations§
Source§impl Clone for OperationRecord
impl Clone for OperationRecord
Source§fn clone(&self) -> OperationRecord
fn clone(&self) -> OperationRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OperationRecord
impl Debug for OperationRecord
Source§impl Default for OperationRecord
impl Default for OperationRecord
Source§fn default() -> OperationRecord
fn default() -> OperationRecord
Source§impl Message for OperationRecord
impl Message for OperationRecord
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for OperationRecord
impl PartialEq for OperationRecord
impl StructuralPartialEq for OperationRecord
Auto Trait Implementations§
impl Freeze for OperationRecord
impl RefUnwindSafe for OperationRecord
impl Send for OperationRecord
impl Sync for OperationRecord
impl Unpin for OperationRecord
impl UnsafeUnpin for OperationRecord
impl UnwindSafe for OperationRecord
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
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