pub fn adjustable_timeout<T>(
    duration: Duration,
    future: T
) -> AdjustableTimeout<T> where
    T: Future,