getMaxEventsUnderSizeLimit static method

int getMaxEventsUnderSizeLimit(
  1. List<String> events
)

Returns the maximum number of events that can fit under maxPayloadBytes.

Implementation

static int getMaxEventsUnderSizeLimit(List<String> events) {
  int totalSize = 0;
  int count = 0;

  for (final event in events) {
    if (count >= maxEventsPerBatch) break;
    final size = utf8.encode(event).length;

    if ((totalSize + size + delimiterSize) > maxPayloadBytes) {
      break;
    }

    totalSize += size + delimiterSize;
    count++;
  }

  return count;
}