in modules/client-common/src/main/java/org/apache/ignite/internal/client/proto/ClientMessageUnpacker.java [574:697]
public void skipValues(int count) {
assert refCnt > 0 : "Unpacker is closed";
while (count > 0) {
byte code = buf.readByte();
MessageFormat f = MessageFormat.valueOf(code);
switch (f) {
case POSFIXINT:
case NEGFIXINT:
case BOOLEAN:
case NIL:
break;
case FIXMAP: {
int mapLen = code & 0x0f;
count += mapLen * 2;
break;
}
case FIXARRAY: {
int arrayLen = code & 0x0f;
count += arrayLen;
break;
}
case FIXSTR: {
int strLen = code & 0x1f;
skipBytes(strLen);
break;
}
case INT8:
case UINT8:
skipBytes(1);
break;
case INT16:
case UINT16:
skipBytes(2);
break;
case INT32:
case UINT32:
case FLOAT32:
skipBytes(4);
break;
case INT64:
case UINT64:
case FLOAT64:
skipBytes(8);
break;
case BIN8:
case STR8:
skipBytes(readLength8());
break;
case BIN16:
case STR16:
skipBytes(readLength16());
break;
case BIN32:
case STR32:
skipBytes(readLength32());
break;
case FIXEXT1:
skipBytes(2);
break;
case FIXEXT2:
skipBytes(3);
break;
case FIXEXT4:
skipBytes(5);
break;
case FIXEXT8:
skipBytes(9);
break;
case FIXEXT16:
skipBytes(17);
break;
case EXT8:
skipBytes(readLength8() + 1);
break;
case EXT16:
skipBytes(readLength16() + 1);
break;
case EXT32:
skipBytes(readLength32() + 1);
break;
case ARRAY16:
count += readLength16();
break;
case ARRAY32:
count += readLength32();
break;
case MAP16:
count += readLength16() * 2;
break;
case MAP32:
count += readLength32() * 2;
break;
default:
throw new MessageFormatException("Unexpected format code: " + code);
}
count--;
}
}