Move entry serialization back to ByteBufWriter 51/111651/12
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 7 May 2024 20:29:31 +0000 (22:29 +0200)
committerRobert Varga <nite@hq.sk>
Wed, 8 May 2024 23:41:09 +0000 (23:41 +0000)
commit527547aa84eec5aabd13c8a740f786996493eb40
tree9602c461fdf3e08ca28eb130f002c8d3050d5066
parenta8f35d5b4cd030b1cf3d4034a26951f43ae5919e
Move entry serialization back to ByteBufWriter

I8f6bac3192a0f38b627150be4c8ea128f1e233e5 moved serialization to heap,
causing unnecessary copies, while nominally simplifying the interface.

This patch undoes that move, restoring the logic, except working on top
of a ByteBuf. This requires a bit more logic to deal with the fact we
are no longer writing to the diskEntry nor are we flipping it.

JIRA: CONTROLLER-2115
Change-Id: I1d18f99cfdb5b7e6c6548a5833c824af9f31c166
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
atomix-storage/src/main/java/io/atomix/storage/journal/ByteBufMapper.java
atomix-storage/src/main/java/io/atomix/storage/journal/ByteBufWriter.java
atomix-storage/src/main/java/io/atomix/storage/journal/FileWriter.java
atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java
atomix-storage/src/main/java/io/atomix/storage/journal/JournalSerdes.java
atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedByteBufWriter.java
atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedJournalReader.java
atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedJournalWriter.java