summaryrefslogtreecommitdiff
path: root/src/sync/waiter.rs
blob: 1005e3d3d55adf357e9b74796f8a40d63fba8910 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
use futures::Future;
use futures::future::{Shared, SharedError};
use crate::error::ConditionError;

pub trait Waiter {
    type Item: Default;
    type Error: From<SharedError<ConditionError>>; 

    fn blocked(&self) -> bool;
    fn condition(&self) 
        -> Shared<Box<Future<Item=(), Error=ConditionError> + Send>>;
}