nodo 0.18.5

A realtime framework for robotics
Documentation
// Copyright 2023 David Weikersdorfer

use crate::{codelet::Transition, core::DefaultStatus};
use eyre::Result;

pub trait Lifecycle {
    /// Applies a lifecycel change
    fn cycle(&mut self, transition: Transition) -> Result<DefaultStatus>;
}

#[derive(Default, Clone, Copy)]
pub enum LifecycleStatus {
    #[default]
    Inactive,
    Starting,
    Running,
    Pausing,
    Paused,
    Resuming,
    Stopping,
    Error,
}