pub struct SessionTaskUpdate {Show 13 fields
pub state: Option<SessionTaskState>,
pub state_detail: Option<String>,
pub progress: Option<TaskProgress>,
pub input_request: Option<TaskInputRequest>,
pub summary: Option<String>,
pub result_path: Option<String>,
pub artifacts: Option<Vec<TaskArtifact>>,
pub error: Option<TaskError>,
pub links: Option<TaskLinks>,
pub worker_id: Option<String>,
pub heartbeat_at: Option<DateTime<Utc>>,
pub expected_attempt: Option<i32>,
pub increment_attempt: bool,
}Expand description
Partial update applied through apply_task_update. None = unchanged.
Fields§
§state: Option<SessionTaskState>§state_detail: Option<String>§progress: Option<TaskProgress>§input_request: Option<TaskInputRequest>Setting an input request implies awaiting_input.
summary: Option<String>§result_path: Option<String>§artifacts: Option<Vec<TaskArtifact>>Replaces the artifact list when set.
error: Option<TaskError>§links: Option<TaskLinks>Merged field-by-field into existing links.
worker_id: Option<String>§heartbeat_at: Option<DateTime<Utc>>Liveness heartbeat timestamp.
expected_attempt: Option<i32>Stale-attempt fence: when set, the update is silently ignored if
task.attempt != expected_attempt. Executors and sinks set this to
the attempt they captured at start; the reaper bumps attempt (via
increment_attempt) when it fails an orphan, so a zombie executor’s
later writes are rejected. Writers that do not track attempts
(e.g. cancel_task from the API) leave this None.
increment_attempt: boolSupersede the current attempt: bumps task.attempt so writes fenced
on the previous attempt are rejected from now on. Set by the reaper
when it fails an orphaned task. Ignored if the update itself is
dropped by the fence or the terminal-state invariant.
Trait Implementations§
Source§impl Clone for SessionTaskUpdate
impl Clone for SessionTaskUpdate
Source§fn clone(&self) -> SessionTaskUpdate
fn clone(&self) -> SessionTaskUpdate
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 SessionTaskUpdate
impl Debug for SessionTaskUpdate
Source§impl Default for SessionTaskUpdate
impl Default for SessionTaskUpdate
Source§fn default() -> SessionTaskUpdate
fn default() -> SessionTaskUpdate
Source§impl<'de> Deserialize<'de> for SessionTaskUpdate
impl<'de> Deserialize<'de> for SessionTaskUpdate
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for SessionTaskUpdate
impl RefUnwindSafe for SessionTaskUpdate
impl Send for SessionTaskUpdate
impl Sync for SessionTaskUpdate
impl Unpin for SessionTaskUpdate
impl UnsafeUnpin for SessionTaskUpdate
impl UnwindSafe for SessionTaskUpdate
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request