hyper-client-pool 0.6.0

Pooled Hyper Async Clients
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard};

pub trait RwLockExt<T> {
    fn write_ignore_poison(&self) -> RwLockWriteGuard<T>;
    fn read_ignore_poison(&self) -> RwLockReadGuard<T>;
}

impl<T> RwLockExt<T> for RwLock<T> {
    fn write_ignore_poison(&self) -> RwLockWriteGuard<T> {
        self.write().unwrap_or_else(|e| e.into_inner())
    }

    fn read_ignore_poison(&self) -> RwLockReadGuard<T> {
        self.read().unwrap_or_else(|e| e.into_inner())
    }
}