@Override
      public void run() {
        try {
          release.await();
        } catch (InterruptedException e) {
          // move on.
        }
        long result = 0;
        Exception exception = null;
        try {
          result = asyncWritableChannel.write(buffer, callback).get();
        } catch (Exception e) {
          exception = e;
        }
        future.done(result, exception);
      }
Object that wraps another {@link ReadableStreamChannel} and simply blocks on read until released.
ambry-rest/src/test/java/com/github/ambry/rest/AsyncRequestResponseHandlerTest.java