Skip to main content

ActivityContext

Struct ActivityContext 

Source
pub struct ActivityContext { /* private fields */ }
Expand description

Handler-facing context for one activity execution.

Implementations§

Source§

impl ActivityContext

Source

pub fn new( activity_id: ActivityId, attempt: u32, ) -> (Self, ActivityCancellationHandle)

Creates a context and the internal handle that can signal cancellation.

Source

pub const fn activity_id(&self) -> &ActivityId

Returns this activity’s identifier.

Source

pub const fn attempt(&self) -> u32

Returns this activity’s attempt number.

Source

pub fn heartbeat(&self, detail: Option<Payload>) -> Result<(), WorkerError>

Emits a cooperative heartbeat request for this activity.

This is the PROGRESS channel: handlers call it to attach a progress payload to the activity’s liveness record. LIVENESS itself is owned by the worker runtime, which automatically heartbeats every in-flight activity within the server-assigned heartbeat window — a handler that never calls this still stays live for as long as it genuinely runs. Contexts created without a live heartbeat sender remain no-op contexts for isolated unit tests.

§Errors

Returns WorkerError when an installed heartbeat seam has been closed or when the context lacks the workflow id required by the live session.

Source

pub fn emit_event(&self, event: ActivityEvent) -> Result<(), WorkerError>

Emit a neutral agent-observability ActivityEvent onto the transcript seam (NOI-5b).

Additive and OPTIONAL: on a context created without a live event seam (every isolated unit test, and every activity that does not run an instrumented agent) this is a no-op returning Ok(()), so behaviour is byte-identical to today. When a seam is installed the worker runtime drains these events and forwards them to the server’s transcript sequencer, which stamps the commit-allocated store_seq — the producer never assigns it.

Harness-neutral: the payload is a pure aion-core ActivityEvent; the per-harness mapping lives in the worker-side adapter, never here.

§Errors

Returns WorkerError when an installed event seam has been closed (the runtime drain end was dropped) — a dropped transcript event is surfaced, never silently swallowed.

Source

pub fn is_cancelled(&self) -> bool

Returns true once cooperative cancellation has been signalled.

Source

pub async fn cancelled(&self)

Resolves when cooperative cancellation is signalled.

Trait Implementations§

Source§

impl Clone for ActivityContext

Source§

fn clone(&self) -> ActivityContext

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ActivityContext

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more