TaskStopReason

Enum TaskStopReason 

Source
pub enum TaskStopReason {
    Finished,
    Terminated(TaskTerminateReason),
    Error(TaskError),
}
Expand description

Reason why a task stopped executing

Provides detailed information about why a process completed, whether due to natural completion, termination, or error.

§Exit Code Relationship

  • Finished: Process completed naturally - exit code is Some(code)
  • Terminated(_): Process was killed - exit code is None
  • Error(_): Process encountered an error - exit code behavior varies

§Examples

use tcrm_task::tasks::{event::TaskStopReason, event::TaskTerminateReason};

// Natural completion
let reason = TaskStopReason::Finished;

// Terminated due to timeout
let reason = TaskStopReason::Terminated(TaskTerminateReason::Timeout);

// Terminated due to error
let reason = TaskStopReason::Error(tcrm_task::tasks::error::TaskError::IO("Process crashed".to_string()));

Variants§

§

Finished

Process completed normally with an exit code

The process ran to completion and exited naturally. Exit code will be Some(code) in the TaskEvent::Stopped event.

§

Terminated(TaskTerminateReason)

Process was terminated for a specific reason

The process was forcefully killed before natural completion. Exit code will be None in the TaskEvent::Stopped event.

§

Error(TaskError)

Process stopped due to an error

An error occurred during execution or process management. Exit code behavior varies depending on the type of error.

Trait Implementations§

Source§

impl Clone for TaskStopReason

Source§

fn clone(&self) -> TaskStopReason

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 TaskStopReason

Source§

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

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

impl PartialEq for TaskStopReason

Source§

fn eq(&self, other: &TaskStopReason) -> 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 StructuralPartialEq for TaskStopReason

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.