in modules/network/src/main/java/org/apache/ignite/internal/network/direct/stream/DirectByteBufferStreamImplV1.java [1941:2066]
protected void write(MessageCollectionItemType type, Object val, MessageWriter writer) {
switch (type) {
case BYTE:
writeByte((Byte) val);
break;
case SHORT:
writeShort((Short) val);
break;
case INT:
writeInt((Integer) val);
break;
case LONG:
writeLong((Long) val);
break;
case FLOAT:
writeFloat((Float) val);
break;
case DOUBLE:
writeDouble((Double) val);
break;
case CHAR:
writeChar((Character) val);
break;
case BOOLEAN:
writeBoolean((Boolean) val);
break;
case BYTE_ARR:
writeByteArray((byte[]) val);
break;
case SHORT_ARR:
writeShortArray((short[]) val);
break;
case INT_ARR:
writeIntArray((int[]) val);
break;
case LONG_ARR:
writeLongArray((long[]) val);
break;
case FLOAT_ARR:
writeFloatArray((float[]) val);
break;
case DOUBLE_ARR:
writeDoubleArray((double[]) val);
break;
case CHAR_ARR:
writeCharArray((char[]) val);
break;
case BOOLEAN_ARR:
writeBooleanArray((boolean[]) val);
break;
case STRING:
writeString((String) val);
break;
case BIT_SET:
writeBitSet((BitSet) val);
break;
case BYTE_BUFFER:
writeByteBuffer((ByteBuffer) val);
break;
case UUID:
writeUuid((UUID) val);
break;
case IGNITE_UUID:
writeIgniteUuid((IgniteUuid) val);
break;
case MSG:
try {
if (val != null) {
writer.beforeInnerMessageWrite();
}
writeMessage((NetworkMessage) val, writer);
} finally {
if (val != null) {
writer.afterInnerMessageWrite(lastFinished);
}
}
break;
default:
throw new IllegalArgumentException("Unknown type: " + type);
}
}