private void writeIntHeader()

in serialization/src/main/java/com/twitter/serial/stream/bytebuffer/ByteBufferSerializerOutput.java [212:228]


    private void writeIntHeader(byte type, int val) {
        if (val == 0) {
            writeHeader(ByteBufferSerializerDefs.makeHeader(type, ByteBufferSerializerDefs.SUBTYPE_DEFAULT));
        } else if ((val & 0xFFFFFF00) == 0) {
            writeHeader(ByteBufferSerializerDefs.makeHeader(type, ByteBufferSerializerDefs.SUBTYPE_BYTE));
            ensureCapacity(ByteBufferSerializerDefs.SIZE_BYTE);
            mByteBuffer.put((byte) val);
        } else if ((val & 0xFFFF0000) == 0) {
            writeHeader(ByteBufferSerializerDefs.makeHeader(type, ByteBufferSerializerDefs.SUBTYPE_SHORT));
            ensureCapacity(ByteBufferSerializerDefs.SIZE_SHORT);
            mByteBuffer.putShort((short) val);
        } else {
            writeHeader(ByteBufferSerializerDefs.makeHeader(type, ByteBufferSerializerDefs.SUBTYPE_INT));
            ensureCapacity(ByteBufferSerializerDefs.SIZE_INT);
            mByteBuffer.putInt(val);
        }
    }