public void skipValue()

in modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java [222:370]


    public void skipValue() {
        byte type = arr[pos++];

        int len;

        switch (type) {
            case GridBinaryMarshaller.NULL:
                return;

            case GridBinaryMarshaller.OBJ:
                pos += readInt(GridBinaryMarshaller.TOTAL_LEN_POS - 1) - 1;

                return;

            case GridBinaryMarshaller.BOOLEAN:
            case GridBinaryMarshaller.BYTE:
                len = 1;
                break;

            case GridBinaryMarshaller.CHAR:
            case GridBinaryMarshaller.SHORT:
                len = 2;

                break;

            case GridBinaryMarshaller.HANDLE:
            case GridBinaryMarshaller.FLOAT:
            case GridBinaryMarshaller.INT:
                len = 4;

                break;

            case GridBinaryMarshaller.ENUM:
                //skipping type id and ordinal value
                len = 8;

                break;

            case GridBinaryMarshaller.LONG:
            case GridBinaryMarshaller.DOUBLE:
                len = 8;

                break;

            case GridBinaryMarshaller.BYTE_ARR:
            case GridBinaryMarshaller.BOOLEAN_ARR:
                len = 4 + readLength();

                break;

            case GridBinaryMarshaller.STRING:
                len = 4 + readStringLength();

                break;

            case GridBinaryMarshaller.DECIMAL:
                len = /** scale */ 4 + /** mag len */ 4 + /** mag bytes count */ readInt(4);

                break;

            case GridBinaryMarshaller.UUID:
                len = 8 + 8;

                break;

            case GridBinaryMarshaller.DATE:
                len = 8;

                break;

            case GridBinaryMarshaller.TIMESTAMP:
                len = 8 + 4;

                break;

            case GridBinaryMarshaller.TIME:
                len = 8;

                break;

            case GridBinaryMarshaller.CHAR_ARR:
            case GridBinaryMarshaller.SHORT_ARR:
                len = 4 + readLength() * 2;

                break;

            case GridBinaryMarshaller.INT_ARR:
            case GridBinaryMarshaller.FLOAT_ARR:
                len = 4 + readLength() * 4;

                break;

            case GridBinaryMarshaller.LONG_ARR:
            case GridBinaryMarshaller.DOUBLE_ARR:
                len = 4 + readLength() * 8;

                break;

            case GridBinaryMarshaller.DECIMAL_ARR:
            case GridBinaryMarshaller.DATE_ARR:
            case GridBinaryMarshaller.TIMESTAMP_ARR:
            case GridBinaryMarshaller.TIME_ARR:
            case GridBinaryMarshaller.OBJ_ARR:
            case GridBinaryMarshaller.ENUM_ARR:
            case GridBinaryMarshaller.UUID_ARR:
            case GridBinaryMarshaller.STRING_ARR: {
                int size = readInt();

                for (int i = 0; i < size; i++)
                    skipValue();

                return;
            }

            case GridBinaryMarshaller.COL: {
                int size = readInt();

                pos++; // skip collection type

                for (int i = 0; i < size; i++)
                    skipValue();

                return;
            }

            case GridBinaryMarshaller.MAP: {
                int size = readInt();

                pos++; // skip collection type

                for (int i = 0; i < size; i++) {
                    skipValue(); // skip key.
                    skipValue(); // skip value.
                }

                return;
            }

            case GridBinaryMarshaller.BINARY_OBJ:
                len = readInt() + 4;

                break;

            default:
                throw new BinaryObjectException("Invalid flag value: " + type);
        }

        pos += len;
    }