public Future receiveMessageAsync()

in src/main/java/com/amazonaws/services/sqs/util/ReceiveQueueBuffer.java [136:160]


    public Future<ReceiveMessageResult> receiveMessageAsync(ReceiveMessageRequest rq) {
        if (shutDown) {
            throw new AmazonClientException("The buffer has been shut down.");
        }

        // issue the future...
        int numMessages = 10;
        if (rq.getMaxNumberOfMessages() != null) {
            numMessages = rq.getMaxNumberOfMessages();
        }
        long waitTimeNanos;
        if (rq.getWaitTimeSeconds() != null) {
            waitTimeNanos = TimeUnit.SECONDS.toNanos(rq.getWaitTimeSeconds());
        } else {
            waitTimeNanos = defaultWaitTimeNanos;
        }
        ReceiveMessageFuture toReturn = issueFuture(numMessages, waitTimeNanos);

        // attempt to satisfy it right away...
        satisfyFuturesFromBuffer();

        toReturn.startWaitTimer();

        return toReturn;
    }