pub trait MicrodeModule: Send {
const KIND: ModuleKind;
// Provided methods
fn relationships(&self) -> Vec<RelationshipDescriptor> { ... }
fn providers(&self) -> Vec<Provider> { ... }
fn initialize(&mut self) -> ModuleFuture { ... }
fn setup(&mut self) -> ModuleFuture { ... }
fn setup_with_context(&mut self, _context: SetupContext) -> ModuleFuture { ... }
fn run(&mut self) -> ModuleFuture { ... }
fn run_with_context(&mut self, _context: RunContext) -> ModuleFuture { ... }
fn stop(&mut self) -> ModuleFuture { ... }
fn teardown(&mut self) -> ModuleFuture { ... }
fn shutdown(&mut self) -> ModuleFuture { ... }
fn cleanup(&mut self) -> ModuleFuture { ... }
}Expand description
The lifecycle shared by every installed Microde module.
Required Associated Constants§
Sourceconst KIND: ModuleKind
const KIND: ModuleKind
Declares how the runtime interprets completion of Self::run.
Provided Methods§
fn relationships(&self) -> Vec<RelationshipDescriptor>
fn providers(&self) -> Vec<Provider>
fn initialize(&mut self) -> ModuleFuture
fn setup(&mut self) -> ModuleFuture
fn setup_with_context(&mut self, _context: SetupContext) -> ModuleFuture
fn run(&mut self) -> ModuleFuture
fn run_with_context(&mut self, _context: RunContext) -> ModuleFuture
fn stop(&mut self) -> ModuleFuture
fn teardown(&mut self) -> ModuleFuture
fn shutdown(&mut self) -> ModuleFuture
fn cleanup(&mut self) -> ModuleFuture
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".