@Override public final long getUnsignedInt(int index) { return getInt(index) & 0xFFFFFFFFL; }
@Override public final double getDouble(int index) { return Double.longBitsToDouble(getLong(index)); }
@Override public final char getChar(int index) { return (char) getShort(index); }
@Override public final ByteBuf setLong(int index, long value) { wrapped.checkIndex(index, 8); _setLong(wrapped, index, nativeByteOrder ? value : Long.reverseBytes(value)); return this; }
@Override public final ByteBuf setShort(int index, int value) { wrapped.checkIndex0(index, 2); _setShort(wrapped, index, nativeByteOrder ? (short) value : Short.reverseBytes((short) value)); return this; }
@Override public final ByteBuf setInt(int index, int value) { wrapped.checkIndex0(index, 4); _setInt(wrapped, index, nativeByteOrder ? value : Integer.reverseBytes(value)); return this; }
@Override public final int getInt(int index) { wrapped.checkIndex0(index, 4); int v = _getInt(wrapped, index); return nativeByteOrder ? v : Integer.reverseBytes(v); }
@Override public final long getLong(int index) { wrapped.checkIndex(index, 8); long v = _getLong(wrapped, index); return nativeByteOrder ? v : Long.reverseBytes(v); }
AbstractUnsafeSwappedByteBuf(AbstractByteBuf buf) { super(buf); assert PlatformDependent.isUnaligned(); wrapped = buf; nativeByteOrder = BIG_ENDIAN_NATIVE_ORDER == (order() == ByteOrder.BIG_ENDIAN); }
@Override public final short getShort(int index) { wrapped.checkIndex0(index, 2); short v = _getShort(wrapped, index); return nativeByteOrder ? v : Short.reverseBytes(v); }
@Override public final ByteBuf writeLong(long value) { wrapped.ensureWritable0(8); _setLong(wrapped, wrapped.writerIndex, nativeByteOrder ? value : Long.reverseBytes(value)); wrapped.writerIndex += 8; return this; }
@Override public final ByteBuf writeShort(int value) { wrapped.ensureWritable0(2); _setShort(wrapped, wrapped.writerIndex, nativeByteOrder ? (short) value : Short.reverseBytes((short) value)); wrapped.writerIndex += 2; return this; }
@Override public final ByteBuf writeInt(int value) { wrapped.ensureWritable0(4); _setInt(wrapped, wrapped.writerIndex, nativeByteOrder ? value : Integer.reverseBytes(value)); wrapped.writerIndex += 4; return this; }
@Override public final float getFloat(int index) { return Float.intBitsToFloat(getInt(index)); }
@Override public final int getUnsignedShort(int index) { return getShort(index) & 0xFFFF; }