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);
}
}