/** * {@inheritDoc} */ @Override public void serializeInByteBufferObject(T object, ByteBuffer buffer, Object... hints) { init(object, hints); buffer.put(binarySerializer.getId()); binarySerializer.serializeInByteBufferObject(object, buffer); }
private void writeNameIdEntry(final FileChannel nameIdMapHolder, final NameFileIdEntry nameFileIdEntry, final boolean sync) throws IOException { final int nameSize = stringSerializer.getObjectSize(nameFileIdEntry.name); final int fileNameSize = stringSerializer.getObjectSize(nameFileIdEntry.fileSystemName); //file id size + file name size + file name + file system name size + file system name final ByteBuffer serializedRecord = ByteBuffer.allocate(3 * OIntegerSerializer.INT_SIZE + nameSize + fileNameSize); //serialize file id OIntegerSerializer.INSTANCE.serializeInByteBufferObject(nameFileIdEntry.fileId, serializedRecord, 0); //serialize file name OIntegerSerializer.INSTANCE.serializeInByteBufferObject(nameSize, serializedRecord, OIntegerSerializer.INT_SIZE); stringSerializer.serializeInByteBufferObject(nameFileIdEntry.name, serializedRecord, 2 * OIntegerSerializer.INT_SIZE); //serialize file system name OIntegerSerializer.INSTANCE .serializeInByteBufferObject(fileNameSize, serializedRecord, 2 * OIntegerSerializer.INT_SIZE + nameSize); stringSerializer .serializeInByteBufferObject(nameFileIdEntry.fileSystemName, serializedRecord, 3 * OIntegerSerializer.INT_SIZE + nameSize); serializedRecord.position(0); OIOUtils.writeByteBuffer(serializedRecord, nameIdMapHolder, nameIdMapHolder.size()); nameIdMapHolder.write(serializedRecord); if (sync) { nameIdMapHolder.force(true); } }
binarySerializer.serializeInByteBufferObject(key, buffer);