pub enum WorkerSessionEvent {
Task(Box<ProtoActivityTask>),
Drain,
ResultAck {
workflow_id: WorkflowId,
activity_id: ActivityId,
},
Cancel {
workflow_id: WorkflowId,
activity_id: ActivityId,
},
LivenessPing {
sequence: u64,
silence_window: Duration,
},
}Expand description
Event pushed by the worker session receive stream.
Variants§
Task(Box<ProtoActivityTask>)
A new activity task to execute.
Drain
Server-initiated drain: the server is going away (restart, deploy, rebalance). The worker finishes in-flight work, reports what it can, stops expecting new tasks, and reconnects after the schedule’s initial backoff. A drain frame latches for the session: the eventual stream end — clean or abrupt — is drain-class and consumes no drop budget.
ResultAck
The server consumed the identified ActivityResult frame; the worker
may stop re-reporting it. Clears the matching unacked-tracker entry.
Fields
workflow_id: WorkflowIdWorkflow owning the acknowledged result.
activity_id: ActivityIdActivity whose result was acknowledged.
Cancel
Cooperative cancellation for an in-flight activity.
Carried on the wire as CancelActivity and decoded by
decode_cancel_activity. The runtime handles it without forcing task
termination: the activity’s cancellation token is tripped and the
handler is given the chance to stop on its own terms.
Fields
workflow_id: WorkflowIdWorkflow owning the activity.
activity_id: ActivityIdActivity to mark cancelled.
LivenessPing
Transport liveness ping from the server (#197): answer it, promptly, or this worker is not selected for dispatch.
The RUNTIME answers it — never action code. The server is measuring whether it can reach this worker’s DISPATCH path, and an answer produced by a handler would measure whether a handler happens to be running.
Trait Implementations§
Source§impl Clone for WorkerSessionEvent
impl Clone for WorkerSessionEvent
Source§fn clone(&self) -> WorkerSessionEvent
fn clone(&self) -> WorkerSessionEvent
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 WorkerSessionEvent
impl Debug for WorkerSessionEvent
impl Eq for WorkerSessionEvent
Source§impl PartialEq for WorkerSessionEvent
impl PartialEq for WorkerSessionEvent
impl StructuralPartialEq for WorkerSessionEvent
Auto Trait Implementations§
impl Freeze for WorkerSessionEvent
impl RefUnwindSafe for WorkerSessionEvent
impl Send for WorkerSessionEvent
impl Sync for WorkerSessionEvent
impl Unpin for WorkerSessionEvent
impl UnsafeUnpin for WorkerSessionEvent
impl UnwindSafe for WorkerSessionEvent
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§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<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