Home / Class/ AbstractUnsafeSwappedByteBuf Class — netty Architecture

AbstractUnsafeSwappedByteBuf Class — netty Architecture

Architecture documentation for the AbstractUnsafeSwappedByteBuf class in AbstractUnsafeSwappedByteBuf.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  bd12fcab_af1c_9c67_1329_7f76867764ab["AbstractUnsafeSwappedByteBuf"]
  5a63a24b_504f_ff4c_d0f0_7aa856c543e4["AbstractUnsafeSwappedByteBuf.java"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|defined in| 5a63a24b_504f_ff4c_d0f0_7aa856c543e4
  6d08be16_11c8_6aa7_1820_750981b994d8["AbstractUnsafeSwappedByteBuf()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| 6d08be16_11c8_6aa7_1820_750981b994d8
  71671d26_abc0_18a3_5ee3_41371c1593f6["getLong()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| 71671d26_abc0_18a3_5ee3_41371c1593f6
  6d95e24c_4737_952e_bf95_d1bb27e80608["getFloat()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| 6d95e24c_4737_952e_bf95_d1bb27e80608
  db869808_e98b_1081_9949_e79906b24387["getDouble()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| db869808_e98b_1081_9949_e79906b24387
  3510d325_4066_d263_33fd_d79e207b9200["getChar()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| 3510d325_4066_d263_33fd_d79e207b9200
  9cf19243_e964_d9c0_54f0_4e07d71481a1["getUnsignedInt()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| 9cf19243_e964_d9c0_54f0_4e07d71481a1
  6a033436_9235_80ac_2c5d_51072e000695["getInt()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| 6a033436_9235_80ac_2c5d_51072e000695
  28472429_c9ce_0f80_3540_c210bec32cbb["getUnsignedShort()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| 28472429_c9ce_0f80_3540_c210bec32cbb
  8187ff9c_c065_7bc0_5ac4_08546f3cf725["getShort()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| 8187ff9c_c065_7bc0_5ac4_08546f3cf725
  1d6d3e94_2d93_eb4a_5ce6_70f36e4c1b1f["ByteBuf()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| 1d6d3e94_2d93_eb4a_5ce6_70f36e4c1b1f
  63ca539f_fa22_18e6_c56d_0848e13187f2["_getShort()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| 63ca539f_fa22_18e6_c56d_0848e13187f2
  0aea8241_2fd9_8793_d792_d87ccf82f299["_getInt()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| 0aea8241_2fd9_8793_d792_d87ccf82f299
  bc848040_892a_16f1_6159_6bec5e0d1cd0["_getLong()"]
  bd12fcab_af1c_9c67_1329_7f76867764ab -->|method| bc848040_892a_16f1_6159_6bec5e0d1cd0

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/AbstractUnsafeSwappedByteBuf.java lines 27–171

abstract class AbstractUnsafeSwappedByteBuf extends SwappedByteBuf {
    private final boolean nativeByteOrder;
    private final AbstractByteBuf wrapped;

    AbstractUnsafeSwappedByteBuf(AbstractByteBuf buf) {
        super(buf);
        assert PlatformDependent.isUnaligned();
        wrapped = buf;
        nativeByteOrder = BIG_ENDIAN_NATIVE_ORDER == (order() == ByteOrder.BIG_ENDIAN);
    }

    @Override
    public final long getLong(int index) {
        wrapped.checkIndex(index, 8);
        long v = _getLong(wrapped, index);
        return nativeByteOrder ? v : Long.reverseBytes(v);
    }

    @Override
    public final float getFloat(int index) {
        return Float.intBitsToFloat(getInt(index));
    }

    @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 long getUnsignedInt(int index) {
        return getInt(index) & 0xFFFFFFFFL;
    }

    @Override
    public final int getInt(int index) {
        wrapped.checkIndex(index, 4);
        int v = _getInt(wrapped, index);
        return nativeByteOrder ? v : Integer.reverseBytes(v);
    }

    @Override
    public final int getUnsignedShort(int index) {
        return getShort(index) & 0xFFFF;
    }

    @Override
    public final short getShort(int index) {
        wrapped.checkIndex(index, 2);
        short v = _getShort(wrapped, index);
        return nativeByteOrder ? v : Short.reverseBytes(v);
    }

    @Override
    public final ByteBuf setShort(int index, int value) {
        wrapped.checkIndex(index, 2);
        _setShort(wrapped, index, nativeByteOrder ? (short) value : Short.reverseBytes((short) value));
        return this;
    }

    @Override
    public final ByteBuf setInt(int index, int value) {
        wrapped.checkIndex(index, 4);
        _setInt(wrapped, index, nativeByteOrder ? value : Integer.reverseBytes(value));
        return this;
    }

    @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 setChar(int index, int value) {
        setShort(index, value);

Frequently Asked Questions

What is the AbstractUnsafeSwappedByteBuf class?
AbstractUnsafeSwappedByteBuf is a class in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/AbstractUnsafeSwappedByteBuf.java.
Where is AbstractUnsafeSwappedByteBuf defined?
AbstractUnsafeSwappedByteBuf is defined in buffer/src/main/java/io/netty/buffer/AbstractUnsafeSwappedByteBuf.java at line 27.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free