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;
}