pub struct AttemptKey {
pub workflow_id: WorkflowId,
pub run_id: RunId,
pub activity_id: ActivityId,
pub attempt: u32,
}Expand description
The (workflow, run, activity, attempt) key one running agent session is
addressed by — the same identity the worker back-index and the whole design
key on.
§The run axis is routing, not decoration
A continue-as-new chain reuses one WorkflowId across generations while
activity ordinals restart at 0 and attempts at 1 in each new run, so a
(workflow, activity, attempt) key genuinely collides across generations.
Resolving an owner through a colliding key would deliver an operator’s steer,
pause, or cancel to a DIFFERENT generation than the one they were looking at
— a control-plane fault, not a display glitch. The worker’s own SessionKey
carries the same four axes so both ends agree on what “this attempt” means.
Fields§
§workflow_id: WorkflowIdThe workflow the target activity belongs to.
run_id: RunIdThe concrete run of that workflow the target attempt belongs to.
activity_id: ActivityIdThe target activity within the workflow.
attempt: u32The target attempt. A command to any other attempt is a stale-target no-op.
Implementations§
Source§impl AttemptKey
impl AttemptKey
Sourcepub const fn new(
workflow_id: WorkflowId,
run_id: RunId,
activity_id: ActivityId,
attempt: u32,
) -> Self
pub const fn new( workflow_id: WorkflowId, run_id: RunId, activity_id: ActivityId, attempt: u32, ) -> Self
Build an attempt key from its four components.
Sourcepub fn of_command(command: &InterventionCommand) -> Self
pub fn of_command(command: &InterventionCommand) -> Self
The attempt key naming the target of a routed command.
Trait Implementations§
Source§impl Clone for AttemptKey
impl Clone for AttemptKey
Source§fn clone(&self) -> AttemptKey
fn clone(&self) -> AttemptKey
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 AttemptKey
impl Debug for AttemptKey
impl Eq for AttemptKey
Source§impl Hash for AttemptKey
impl Hash for AttemptKey
Source§impl PartialEq for AttemptKey
impl PartialEq for AttemptKey
impl StructuralPartialEq for AttemptKey
Auto Trait Implementations§
impl Freeze for AttemptKey
impl RefUnwindSafe for AttemptKey
impl Send for AttemptKey
impl Sync for AttemptKey
impl Unpin for AttemptKey
impl UnsafeUnpin for AttemptKey
impl UnwindSafe for AttemptKey
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
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