[][src]Trait lol_core::RaftApp

pub trait RaftApp: Sync + Send + 'static {
#[must_use]    fn apply_message<'life0, 'async_trait>(
        &'life0 self,
        request: Message
    ) -> Pin<Box<dyn Future<Output = Result<Message>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn install_snapshot<'life0, 'async_trait>(
        &'life0 self,
        snapshot: Snapshot
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn fold_snapshot<'life0, 'async_trait>(
        &'life0 self,
        old_snapshot: Snapshot,
        requests: Vec<Message>
    ) -> Pin<Box<dyn Future<Output = Result<Snapshot>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }

Required methods

#[must_use]fn apply_message<'life0, 'async_trait>(
    &'life0 self,
    request: Message
) -> Pin<Box<dyn Future<Output = Result<Message>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn install_snapshot<'life0, 'async_trait>(
    &'life0 self,
    snapshot: Snapshot
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn fold_snapshot<'life0, 'async_trait>(
    &'life0 self,
    old_snapshot: Snapshot,
    requests: Vec<Message>
) -> Pin<Box<dyn Future<Output = Result<Snapshot>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Loading content...

Implementors

Loading content...