public final Future delay()

in src/main/java/com/twitter/nodes_examples/search/DelayedResponse.java [39:51]


  public final <T> Future<T> delay(final T value) {
    final Promise<T> promise = new Promise<T>();
    executor.submit(() -> {
      try {
        Thread.sleep(500 + random.nextInt(500));  // somewhere between 0.5 ~ 1.0 second
        promise.become(Future.value(value));
      } catch (InterruptedException e) {
        Thread.interrupted();
        promise.become(Future.exception(new Exception("interrupted")));
      }
    });
    return promise;
  }