private Decision waitPrecondition()

in src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java [415:427]


    private Decision waitPrecondition(long offset) {
        long endTime = System.currentTimeMillis() + PRECONDITION_TIMEOUT;
        while (System.currentTimeMillis() < endTime && running) {
            Decision decision = precondition.canProcess(subAgentName, offset);
            if (decision == Decision.WAIT) {
                delay.await(100);
            } else {
                return decision;
            }
        }
        throw new PreConditionTimeoutException(
                "Timeout waiting for distribution package at offset=" + offset + " on status topic");
    }