pub trait Lifecycle: Clone + 'static {
// Provided methods
async fn prepare(
&self,
_context: PrepareContext,
) -> Result<(), RuntimeFailure> { ... }
async fn activate(
&self,
_context: ActivateContext,
) -> Result<(), RuntimeFailure> { ... }
async fn deactivate(
&self,
_context: DeactivateContext,
) -> Result<(), RuntimeFailure> { ... }
}Expand description
Optional convention-based lifecycle hooks for a struct-level Module.
Add #[module(lifecycle)], implement this trait, and override only the
phases that own real work. The generated Adapter lifecycle still connects
declared Capability ports before activate.
Provided Methods§
async fn prepare(&self, _context: PrepareContext) -> Result<(), RuntimeFailure>
async fn activate( &self, _context: ActivateContext, ) -> Result<(), RuntimeFailure>
async fn deactivate( &self, _context: DeactivateContext, ) -> Result<(), RuntimeFailure>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".