pub struct Ctx {
pub task_id: TaskId,
pub attempt: u32,
pub agent: String,
pub meta: CtxMeta,
pub operator: OperatorInfo,
}Expand description
Per-attempt context threaded through the engine and into worker/spawner
code. Carries identity (task_id / attempt / agent), free-form
metadata (meta), and the resolved Operator faces (operator).
Fields§
§task_id: TaskIdThe task this attempt belongs to.
attempt: u321-based attempt counter for task_id (bumped by
Engine::dispatch_attempt_with on every dispatch).
agent: StringName of the agent being dispatched (TaskSpec.agent).
meta: CtxMetaFree-form namespaced metadata (runtime / authz / observer / loop).
operator: OperatorInfoThe Operator faces resolved for this attempt. Not serialized —
Arc<dyn ...> trait objects have no stable on-wire form; only the
IDs (persisted on OperatorSession) survive a restart.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Ctx
impl<'de> Deserialize<'de> for Ctx
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for Ctx
impl !UnwindSafe for Ctx
impl Freeze for Ctx
impl Send for Ctx
impl Sync for Ctx
impl Unpin for Ctx
impl UnsafeUnpin for Ctx
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
Mutably borrows from an owned value. Read more
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> 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>
Converts
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>
Converts
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