# Stats in mcaptcha::stats - Rust
API documentation for the Rust `Stats` trait in crate `mcaptcha`.

# Trait mcaptcha::stats::Stats

source ·

    pub trait Stats: Send + Sync + CloneStats {
        // Required methods
        fn record_fetch<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
           where Self: 'async_trait,
                 'life0: 'async_trait,
                 'life1: 'async_trait,
                 'life2: 'async_trait;
        fn record_solve<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
           where Self: 'async_trait,
                 'life0: 'async_trait,
                 'life1: 'async_trait,
                 'life2: 'async_trait;
        fn record_confirm<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
           where Self: 'async_trait,
                 'life0: 'async_trait,
                 'life1: 'async_trait,
                 'life2: 'async_trait;
        fn fetch<'life0, 'life1, 'life2, 'life3, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            user: &'life2 str,
            key: &'life3 str
        ) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>
           where Self: 'async_trait,
                 'life0: 'async_trait,
                 'life1: 'async_trait,
                 'life2: 'async_trait,
                 'life3: 'async_trait;
    }

## Required Methods§

source

#### fn record_fetch<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, d: &'life1 Data, key: &'life2 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

record PoWConfig fetches

source

#### fn record_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, d: &'life1 Data, key: &'life2 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

record PoWConfig solves

source

#### fn record_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, d: &'life1 Data, key: &'life2 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

record PoWConfig confirms

source

#### fn fetch<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, d: &'life1 Data, user: &'life2 str, key: &'life3 str ) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

fetch stats

## Implementors§

source §

### impl Stats for Dummy

source §

### impl Stats for Real