Trait wora::App

source ·
pub trait App<T> {
    type AppMetricsProducer: MetricProcessor;
    type AppConfig: Config;

    // Required methods
    fn name(&self) -> &'static str;
    fn setup<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
        &'life0 mut self,
        wora: &'life1 Wora<T>,
        exec: &'life2 (dyn Executor + Send + Sync),
        fs: &'life3 WFS,
        metrics: &'life4 (dyn MetricProcessor + Send + Sync)
    ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait;
    fn main<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 mut self,
        wora: &'life1 mut Wora<T>,
        exec: &'life2 (dyn Executor + Send + Sync),
        metrics: &'life3 mut (dyn MetricProcessor + Send + Sync)
    ) -> Pin<Box<dyn Future<Output = MainRetryAction> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn is_healthy<'async_trait>(
    ) -> Pin<Box<dyn Future<Output = HealthState> + Send + 'async_trait>>;
    fn end<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 mut self,
        wora: &'life1 Wora<T>,
        exec: &'life2 (dyn Executor + Send + Sync),
        metrics: &'life3 (dyn MetricProcessor + Send + Sync)
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;

    // Provided method
    fn allow_concurrent_executions(&self) -> bool { ... }
}

Required Associated Types§

Required Methods§

source

fn name(&self) -> &'static str

source

fn setup<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>( &'life0 mut self, wora: &'life1 Wora<T>, exec: &'life2 (dyn Executor + Send + Sync), fs: &'life3 WFS, metrics: &'life4 (dyn MetricProcessor + Send + Sync) ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait,

source

fn main<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, wora: &'life1 mut Wora<T>, exec: &'life2 (dyn Executor + Send + Sync), metrics: &'life3 mut (dyn MetricProcessor + Send + Sync) ) -> Pin<Box<dyn Future<Output = MainRetryAction> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

source

fn is_healthy<'async_trait>( ) -> Pin<Box<dyn Future<Output = HealthState> + Send + 'async_trait>>

source

fn end<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 mut self, wora: &'life1 Wora<T>, exec: &'life2 (dyn Executor + Send + Sync), metrics: &'life3 (dyn MetricProcessor + Send + Sync) ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Provided Methods§

Implementors§