@Override
    public int reason() {
        if (query.getTimeLeft() <= 0) {
            return DEGRADED_BY_TIMEOUT;
        }
        if (timer.milliTime() < deadline) {
            return 0;
        }
        return DEGRADED_BY_ADAPTIVE_TIMEOUT;
    }
Computes next timeout based on how many responses has been received so far

@author baldersheim
container-search/src/main/java/com/yahoo/search/dispatch/AdaptiveTimeoutHandler.java