peekBatch method

  1. @override
Future<List<MessageEnvelope>> peekBatch(
  1. String? correlationId,
  2. int messageCount
)

Peeks multiple incoming messages from the queue without removing them. If there are no messages available in the queue it returns an empty list.

Important: This method is not supported by MQTT.

  • correlationId (optional) transaction id to trace execution through call chain.
  • me[ssageCount a maximum number of messages to peek. Returns Future that receives a list with messages Throws error.

Implementation

@override
Future<List<MessageEnvelope>> peekBatch(
    String? correlationId, int messageCount) async {
  checkOpen(correlationId);

  // Subscribe to topic if needed
  await subscribe(correlationId);

  // Peek a batch of messages
  var messages = _messages.getRange(0, messageCount).toList();

  _logger.trace(correlationId, 'Peeked %d messages on %s',
      [messages.length, getName()]);

  return messages;
}