async-resource 0.1.0

Async resource pool
Documentation
use std::time::Instant;

mod lock;
pub use lock::{ResourceGuard, ResourceLock};

mod managed;
pub use managed::Managed;

#[derive(Copy, Clone, Debug)]
pub struct ResourceInfo {
    pub start: Instant,
    pub created_at: Option<Instant>,
    pub acquire_count: usize,
    pub last_acquire: Option<Instant>,
    pub last_idle: Option<Instant>,
    pub reusable: bool,
    pub verify_at: Option<Instant>,
}

impl Default for ResourceInfo {
    fn default() -> Self {
        Self {
            start: Instant::now(),
            created_at: None,
            acquire_count: 0,
            last_acquire: None,
            last_idle: None,
            reusable: true,
            verify_at: None,
        }
    }
}