synchronized void handleSolverFailure(Throwable t) { if (t instanceof CancellationException) { LOGGER.trace("{} Solver got cancelled.", this); return; } scheduler.get().reportException(t); }
@Override public void onFailure(Throwable t) { if (t instanceof CancellationException) { LOGGER.trace("Solver execution got cancelled"); return; } scheduler.get().reportException(t); } });
@Override public void reportException(Throwable t) { delegate.reportException(t); } }
@Override public void onSuccess( @Nullable ImmutableList<ImmutableList<Parcel>> result) { LOGGER.trace("onSuccess: " + result); if (result == null) { scheduler.get().reportException( new IllegalArgumentException("Solver.solve(..) must return a " + "non-null result. Solver: " + solver)); } else { scheduler.get().updateSchedule(snapshot, result); scheduler.get().doneForNow(); } }
synchronized void handleSolverSuccess( @Nullable ImmutableList<ImmutableList<Parcel>> result) { if (result == null) { if (solver.isTerminateEarly() || currentFuture == null) { LOGGER.info("{} Solver was terminated early.", this); } else { scheduler.get().reportException(new IllegalArgumentException( "Solver.solve(..) must return a non-null result. Solver: " + solver)); } } else { LOGGER.info("{} Computations finished, update schedule.", this); scheduler.get().updateSchedule(verifyNotNull(lastSnapshot), result); scheduler.get().doneForNow(); } currentFuture = null; currentScheduleCallback = null; }