class MessageDispatcher {

    public int getEstimatedCapacity(Instant cutoff) {
        // special case: if we haven't processed anything yet, just say we can process a lot of messages
        if (!stats.hasSamples()) {
            log.info("No message processing stats yet. Returning estimated capacity of INT_MAX");
            return Integer.MAX_VALUE;
        }
        return stats.getEstimatedCapacity(Duration.between(Instant.now(clock), cutoff));
    }

    public  MessageDispatcher(final SQSProxy sqsProxy, final MessageProcessorProxy messageProcessorProxy);

}