summaryrefslogtreecommitdiff
path: root/src/sync/waiter.rs
blob: 8039280e966e71879d15007a6fbe449371378af0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
use futures::sync::oneshot;
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>>;
}