Skip to main content

TaskSpec

Struct TaskSpec 

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

The user’s durable intent - what should be executed.

Implementations§

Source§

impl TaskSpec

Source

pub fn new( id: TaskId, payload: TaskPayload, run_policy: RunPolicy, constraints: TaskConstraints, metadata: TaskMetadata, ) -> Result<Self, TaskSpecError>

Creates a task specification with validated constraints.

parent_task_id defaults to None. Use with_parent to attach a parent before submission.

Source

pub fn with_parent(self, parent_task_id: TaskId) -> Self

Attaches a parent task identifier, returning the modified spec.

Used by the workflow extension to declare parent-child relationships. The parent must exist in the projection when the child is submitted.

Uses debug_assert (not Result) because this is only called from internal workflow submission paths where the parent ID has already been validated against the projection. A nil parent indicates a logic error in the submission pipeline, not invalid user input.

Source

pub fn validate(&self) -> Result<(), TaskSpecError>

Validates this task specification against invariant-sensitive checks.

Source

pub fn id(&self) -> TaskId

Returns this task’s unique identifier.

Source

pub fn payload(&self) -> &[u8]

Returns the task payload bytes.

Source

pub fn content_type(&self) -> Option<&str>

Returns the optional payload content-type hint.

Source

pub fn task_payload(&self) -> &TaskPayload

Returns a reference to the full task payload (bytes + content-type).

Source

pub fn run_policy(&self) -> &RunPolicy

Returns the run policy snapshot for this task.

Source

pub fn constraints(&self) -> &TaskConstraints

Returns the constraints snapshot for this task.

Source

pub fn metadata(&self) -> &TaskMetadata

Returns task metadata.

Source

pub fn parent_task_id(&self) -> Option<TaskId>

Returns the optional parent task identifier.

Source

pub fn tenant_id(&self) -> Option<TenantId>

Returns the optional tenant identifier.

Source

pub fn with_tenant(self, tenant_id: TenantId) -> Self

Attaches a tenant identifier, returning the modified spec.

Source

pub fn set_constraints( &mut self, constraints: TaskConstraints, ) -> Result<(), TaskSpecError>

Replaces task constraints after validating invariants.

Source

pub fn set_metadata(&mut self, metadata: TaskMetadata)

Replaces task metadata.

Source

pub fn set_payload(&mut self, payload: TaskPayload)

Replaces payload bytes and optional content-type hint.

Source

pub fn set_run_policy( &mut self, run_policy: RunPolicy, ) -> Result<(), TaskSpecError>

Replaces run policy after validating policy-shape invariants.

Trait Implementations§

Source§

impl Clone for TaskSpec

Source§

fn clone(&self) -> TaskSpec

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for TaskSpec

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for TaskSpec

Source§

fn eq(&self, other: &TaskSpec) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for TaskSpec

Source§

impl StructuralPartialEq for TaskSpec

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, 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> 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.