Eliminate MappableJournalSegmentReader
[controller.git] / atomix-storage / src / main / java / io / atomix / storage / journal / JournalSegmentReader.java
index 512e36a1c57e5c9fe56aacc6fe0997f63e2fcbb6..2dddd9827633cb92b15cd30d1e3be245557c8fb0 100644 (file)
@@ -20,12 +20,14 @@ abstract sealed class JournalSegmentReader<E> implements JournalReader<E>
     private final JournalIndex index;
     final JournalSerdes namespace;
     private final long firstIndex;
+    private final JournalSegment<E> segment;
 
     private Indexed<E> currentEntry;
     private Indexed<E> nextEntry;
 
     JournalSegmentReader(final JournalSegment<E> segment, final int maxEntrySize, final JournalIndex index,
             final JournalSerdes namespace) {
+        this.segment = requireNonNull(segment);
         this.maxEntrySize = maxEntrySize;
         this.index = requireNonNull(index);
         this.namespace = requireNonNull(namespace);
@@ -100,7 +102,7 @@ abstract sealed class JournalSegmentReader<E> implements JournalReader<E>
 
     @Override
     public final void close() {
-        // FIXME: CONTROLLER-2098: remove this method
+        segment.closeReader(this);
     }
 
     /**