TaskControl

Trait TaskControl 

Source
pub trait TaskControl {
    // Required method
    fn terminate_task(
        &mut self,
        reason: TaskTerminateReason,
    ) -> Result<(), TaskError>;
}
Expand description

Trait for controlling process execution.

This trait provides methods to control the lifecycle of a running process, including termination and signal handling.

Required Methods§

Source

fn terminate_task( &mut self, reason: TaskTerminateReason, ) -> Result<(), TaskError>

Terminates the task with the specified reason.

§Arguments
  • reason - The reason for termination
§Returns
  • Ok(()) - If the termination signal was sent successfully
  • Err(TaskError) - If the task is already finished or termination fails
§Example
use tcrm_task::tasks::control::TaskControl;
use tcrm_task::tasks::event::TaskTerminateReason;
use tcrm_task::tasks::config::TaskConfig;
use tcrm_task::tasks::tokio::executor::TaskExecutor;
use tokio::sync::mpsc;

let config = TaskConfig::new("echo".to_string());
let (tx, _rx) = mpsc::channel(100);
let mut task = TaskExecutor::new(config, tx);
task.terminate_task(TaskTerminateReason::UserRequested)?;

Implementors§