in java/core/src/main/java/org/bondlib/CompactBinaryReader.java [186:253]
public void skip(final BondDataType type) throws IOException {
switch (type.value) {
// 1-byte
case BondDataType.Values.BT_BOOL:
case BondDataType.Values.BT_UINT8:
case BondDataType.Values.BT_INT8:
this.reader.skipBytes(1);
break;
// 4-byte
case BondDataType.Values.BT_FLOAT:
this.reader.skipBytes(4);
break;
// 8-byte
case BondDataType.Values.BT_DOUBLE:
this.reader.skipBytes(8);
break;
// variable-length encoding
case BondDataType.Values.BT_INT16:
case BondDataType.Values.BT_UINT16:
this.reader.readVarUInt16();
break;
// variable-length encoding
case BondDataType.Values.BT_INT32:
case BondDataType.Values.BT_UINT32:
this.reader.readVarUInt32();
break;
// variable-length encoding
case BondDataType.Values.BT_INT64:
case BondDataType.Values.BT_UINT64:
this.reader.readVarUInt64();
break;
// UTF-8 string (1-byte Unicode code units)
case BondDataType.Values.BT_STRING:
this.reader.skipBytes(this.reader.readVarUInt32());
break;
// UTF-16 string (2-byte Unicode code units)
case BondDataType.Values.BT_WSTRING:
this.reader.skipBytes(this.reader.readVarUInt32() * 2L);
break;
// List/Set collections (recursive)
case BondDataType.Values.BT_LIST:
case BondDataType.Values.BT_SET:
this.skipListContainer();
break;
// Map collections (recursive)
case BondDataType.Values.BT_MAP:
this.skipMapContainer();
break;
// Nested struct (recursive)
case BondDataType.Values.BT_STRUCT:
this.skipStruct();
break;
// Invalid type
default:
throw new InvalidBondDataException("Invalid Bond data type: " + type);
}
}