private Decision waitPrecondition()

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


    private Decision waitPrecondition(long offset) {
        long endTime = System.currentTimeMillis() + PRECONDITION_TIMEOUT_MILLIS;
        while (System.currentTimeMillis() < endTime && running) {
            Decision decision = precondition.canProcess(subAgentName, offset);
            if (decision == Decision.WAIT) {
                delay.await(100);
            } else {
                return decision;
            }
        }
        final String msg = String.format("Timeout after %s seconds while waiting to meet the preconditions"
                + " to import the distribution package at offset %s on topic status",
                MILLISECONDS.toSeconds(PRECONDITION_TIMEOUT_MILLIS),
                offset);
        throw new PreConditionTimeoutException(msg);
    }