LifecycleManager

Struct LifecycleManager 

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

Lifecycle manager for component state coordination

Manages component lifecycle states, dependency resolution, initialization ordering, and graceful shutdown procedures across the modular system.

Implementations§

Source§

impl LifecycleManager

Source

pub fn new() -> Self

Create a new lifecycle manager

Source

pub fn register_component( &mut self, component_id: &str, dependencies: Vec<String>, ) -> SklResult<()>

Register a component with the lifecycle manager

Source

pub fn unregister_component(&mut self, component_id: &str) -> SklResult<()>

Unregister a component

Source

pub fn set_component_state( &mut self, component_id: &str, state: ComponentLifecycleState, ) -> SklResult<()>

Set component state

Source

pub fn get_component_state( &self, component_id: &str, ) -> Option<&ComponentLifecycleState>

Get component state

Source

pub fn initialize_all_components(&mut self) -> SklResult<InitializationResult>

Initialize all components in dependency order

Source

pub fn initialize_component(&mut self, component_id: &str) -> SklResult<()>

Initialize a specific component

Source

pub fn shutdown_all_components(&mut self) -> SklResult<ShutdownResult>

Shutdown all components in reverse dependency order

Source

pub fn shutdown_component(&mut self, component_id: &str) -> SklResult<()>

Shutdown a specific component

Source

pub fn add_listener(&mut self, event: LifecycleEvent, listener_id: &str)

Add a lifecycle event listener

Source

pub fn remove_listener(&mut self, event: &LifecycleEvent, listener_id: &str)

Remove a lifecycle event listener

Source

pub fn get_metrics(&self) -> &LifecycleMetrics

Get lifecycle metrics

Source

pub fn get_all_states(&self) -> &HashMap<String, ComponentLifecycleState>

Get all component states

Source

pub fn all_components_in_state(&self, state: &ComponentLifecycleState) -> bool

Check if all components are in a specific state

Source

pub fn get_components_in_state( &self, state: &ComponentLifecycleState, ) -> Vec<String>

Get components in a specific state

Trait Implementations§

Source§

impl Debug for LifecycleManager

Source§

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

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

impl Default for LifecycleManager

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

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> 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V