pub struct RetryImportSourceRequest {
pub client_operation_id: String,
pub original_operation: Option<RecordRef>,
pub expected_operation_version: Vec<u8>,
pub logical_job_id: Vec<u8>,
pub active_delegation_digest: Vec<u8>,
pub expected_authority_epoch: u64,
}Expand description
Retry an incomplete terminal FAILED/CANCELED physical attempt into its original Thread. The original operation remains immutable; this command creates a new operation and never creates a second Spool or Thread genesis. Allocate a fresh host-generated physical UUID, distinct from ALL prior attempts and independent of client_operation_id. Return receipt.pending_operation for it under this request’s ID. Persist allocation, retry_of/superseded_by links and the exact receipt together; exact frozen replay returns that receipt. Changed bytes under the same ID -> OPERATION_ID_REUSED, before current CAS checks. Bind the writer-only job-state eligible target, destination/job/lineage, operation CAS and active authority in one admission transaction. CONNECTED requires caller ownership of the exact retained connection, current exact grants and selected-commit availability. Bind subsequent fetches to that authorized attempt; never select credentials from the old initiator. Public-git permits any current writer subject to signed authority/all checks.
Fields§
§client_operation_id: String§original_operation: Option<RecordRef>§expected_operation_version: Vec<u8>§logical_job_id: Vec<u8>Resolves retry_original_operation to this ORIGINAL logical job, not the new physical operation UUID. Current same-key retry needs no new signature; Expired authority is terminal: import remaining work as a NEW logical job. Retry uses a NEW request ID and the sole active delegation digest/epoch. Explicitly cancelled/revoked jobs NEVER revive.
active_delegation_digest: Vec<u8>Trait Implementations§
Source§impl Clone for RetryImportSourceRequest
impl Clone for RetryImportSourceRequest
Source§impl Debug for RetryImportSourceRequest
impl Debug for RetryImportSourceRequest
Source§impl Default for RetryImportSourceRequest
impl Default for RetryImportSourceRequest
impl Eq for RetryImportSourceRequest
Source§impl Hash for RetryImportSourceRequest
impl Hash for RetryImportSourceRequest
Source§impl Message for RetryImportSourceRequest
impl Message for RetryImportSourceRequest
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.