/** * Read byte value. * * @param off Offset. * @return Value. */ private byte readByte(int off) { if (offheap()) return BinaryPrimitives.readByte(ptr, curFieldPos + off); else return arr[curFieldPos + off]; }
/** * Get field type. * * @return Field type. */ private byte fieldType() { if (curFieldPos == POS_NOT_FOUND) return GridBinaryMarshaller.NULL; else return offheap() ? BinaryPrimitives.readByte(ptr, curFieldPos) : BinaryPrimitives.readByte(arr, curFieldPos); }
/** * Read short value. * * @param off Offset. * @return Value. */ private short readShort(int off) { if (offheap()) return BinaryPrimitives.readShort(ptr, curFieldPos + off); else return BinaryPrimitives.readShort(arr, curFieldPos + off); }
/** * Read long value. * * @param off Offset. * @return Value. */ private long readLong(int off) { if (offheap()) return BinaryPrimitives.readLong(ptr, curFieldPos + off); else return BinaryPrimitives.readLong(arr, curFieldPos + off); }
/** * Read int value. * * @param off Offset. * @return Value. */ private int readInt(int off) { if (offheap()) return BinaryPrimitives.readInt(ptr, curFieldPos + off); else return BinaryPrimitives.readInt(arr, curFieldPos + off); }
/** * Locate the field. * * @param order Field order. */ public void findField(int order) { curFieldOrder = order; if (order == BinarySchema.ORDER_NOT_FOUND) curFieldPos = POS_NOT_FOUND; else { int pos = orderBase + order * orderMultiplier; if (fieldOffLen == BinaryUtils.OFFSET_1) { byte val = offheap() ? BinaryPrimitives.readByte(ptr, pos) : BinaryPrimitives.readByte(arr, pos); curFieldPos = startOff + ((int)val & 0xFF); } else if (fieldOffLen == BinaryUtils.OFFSET_2) { short val = offheap() ? BinaryPrimitives.readShort(ptr, pos) : BinaryPrimitives.readShort(arr, pos); curFieldPos = startOff + ((int)val & 0xFFFF); } else { int val = offheap() ? BinaryPrimitives.readInt(ptr, pos) : BinaryPrimitives.readInt(arr, pos); curFieldPos = startOff + val; } } }
/** * Read byte value. * * @param off Offset. * @return Value. */ private byte readByte(int off) { if (offheap()) return BinaryPrimitives.readByte(ptr, curFieldPos + off); else return arr[curFieldPos + off]; }
/** * Get field type. * * @return Field type. */ private byte fieldType() { if (curFieldPos == POS_NOT_FOUND) return GridBinaryMarshaller.NULL; else return offheap() ? BinaryPrimitives.readByte(ptr, curFieldPos) : BinaryPrimitives.readByte(arr, curFieldPos); }
/** * Read long value. * * @param off Offset. * @return Value. */ private long readLong(int off) { if (offheap()) return BinaryPrimitives.readLong(ptr, curFieldPos + off); else return BinaryPrimitives.readLong(arr, curFieldPos + off); }
/** * Read short value. * * @param off Offset. * @return Value. */ private short readShort(int off) { if (offheap()) return BinaryPrimitives.readShort(ptr, curFieldPos + off); else return BinaryPrimitives.readShort(arr, curFieldPos + off); }
/** * Read int value. * * @param off Offset. * @return Value. */ private int readInt(int off) { if (offheap()) return BinaryPrimitives.readInt(ptr, curFieldPos + off); else return BinaryPrimitives.readInt(arr, curFieldPos + off); }
/** * Locate the field. * * @param order Field order. */ public void findField(int order) { curFieldOrder = order; if (order == BinarySchema.ORDER_NOT_FOUND) curFieldPos = POS_NOT_FOUND; else { int pos = orderBase + order * orderMultiplier; if (fieldOffLen == BinaryUtils.OFFSET_1) { byte val = offheap() ? BinaryPrimitives.readByte(ptr, pos) : BinaryPrimitives.readByte(arr, pos); curFieldPos = startOff + ((int)val & 0xFF); } else if (fieldOffLen == BinaryUtils.OFFSET_2) { short val = offheap() ? BinaryPrimitives.readShort(ptr, pos) : BinaryPrimitives.readShort(arr, pos); curFieldPos = startOff + ((int)val & 0xFFFF); } else { int val = offheap() ? BinaryPrimitives.readInt(ptr, pos) : BinaryPrimitives.readInt(arr, pos); curFieldPos = startOff + val; } } }