/** * */ package vnet.sms.gateway.nettytest.embedded; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; /** * @author obergner * */ public interface TimedFuture<T> { public interface Value<T> { long elapsedDurationMillis(); T get() throws ExecutionException; } boolean cancel(boolean mayInterruptIfRunning); boolean isCancelled(); boolean isDone(); Value<T> get() throws InterruptedException, ExecutionException; Value<T> get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException; }