readArray method

List readArray(
  1. KafkaType itemType, [
  2. dynamic objectReadHandler(
    1. KafkaBytesReader reader
    )?
])

Implementation

List readArray(KafkaType itemType, [dynamic objectReadHandler(KafkaBytesReader reader)?]) {
  var length = readInt32();
  var items = [];
  for (var i = 0; i < length; i++) {
    switch (itemType) {
      case KafkaType.int8:
        items.add(readInt8());
        break;
      case KafkaType.int16:
        items.add(readInt16());
        break;
      case KafkaType.int32:
        items.add(readInt32());
        break;
      case KafkaType.int64:
        items.add(readInt64());
        break;
      case KafkaType.string:
        items.add(readString());
        break;
      case KafkaType.bytes:
        items.add(readBytes());
        break;
      case KafkaType.object:
        if (objectReadHandler == null) {
          throw new StateError('ObjectReadHandler must be provided');
        }
        items.add(objectReadHandler(this));
        break;
    }
  }
  return items;
}