private void warnIfSuspiciousDoubleCompletion(Object s0, Object s1) { if (s0 != s1 && !(s0 instanceof CancellationException) && !(s1 instanceof CancellationException)) { logger.warning(String.format("Future.complete(Object) on completed future. " + "Request: %s, current value: %s, offered value: %s", invocationToString(), s0, s1)); } }
@Override public String toString() { Object state = getState(); if (isDone(state)) { return "InvocationFuture{invocation=" + invocationToString() + ", value=" + state + '}'; } else { return "InvocationFuture{invocation=" + invocationToString() + ", done=false}"; } }
private void warnIfSuspiciousDoubleCompletion(Object s0, Object s1) { if (s0 != s1 && !(s0 instanceof CancellationException) && !(s1 instanceof CancellationException)) { logger.warning(String.format("Future.complete(Object) on completed future. " + "Request: %s, current value: %s, offered value: %s", invocationToString(), s0, s1)); } }
@Override public String toString() { Object state = getState(); if (isDone(state)) { return "InvocationFuture{invocation=" + invocationToString() + ", value=" + state + '}'; } else { return "InvocationFuture{invocation=" + invocationToString() + ", done=false}"; } }
@Override public void run() { try { Object value = resolve(state); if (value instanceof Throwable) { Throwable error = unwrap((Throwable) value); callback.onFailure(error); } else { callback.onResponse((V) value); } } catch (Throwable cause) { logger.severe("Failed asynchronous execution of execution callback: " + callback + "for call " + invocationToString(), cause); } }
@Override public void run() { try { Object value = resolve(state); if (value instanceof Throwable) { Throwable error = unwrap((Throwable) value); callback.onFailure(error); } else { callback.onResponse((V) value); } } catch (Throwable cause) { logger.severe("Failed asynchronous execution of execution callback: " + callback + "for call " + invocationToString(), cause); } }