Package org.elasticsearch.index.translog
Class TranslogReader
- java.lang.Object
-
- org.elasticsearch.index.translog.BaseTranslogReader
-
- org.elasticsearch.index.translog.TranslogReader
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.lang.Comparable<BaseTranslogReader>
public class TranslogReader extends BaseTranslogReader implements java.io.Closeable
an immutable translog filereader
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.concurrent.atomic.AtomicBooleanclosedprotected longlength-
Fields inherited from class org.elasticsearch.index.translog.BaseTranslogReader
channel, generation, header, path
-
-
Method Summary
Modifier and Type Method Description voidclose()protected voidensureOpen()protected booleanisClosed()static TranslogReaderopen(java.nio.channels.FileChannel channel, java.nio.file.Path path, org.elasticsearch.index.translog.Checkpoint checkpoint, java.lang.String translogUUID)Given a file channel, opens aTranslogReader, taking care of checking and validating the file header.protected voidreadBytes(java.nio.ByteBuffer buffer, long position)reads an operation at the given position into the given buffer.longsizeInBytes()inttotalOperations()-
Methods inherited from class org.elasticsearch.index.translog.BaseTranslogReader
checksummedStream, compareTo, getFirstOperationOffset, getGeneration, getLastModifiedTime, getPrimaryTerm, newSnapshot, path, read, readSize, toString
-
-
-
-
Method Detail
-
open
public static TranslogReader open(java.nio.channels.FileChannel channel, java.nio.file.Path path, org.elasticsearch.index.translog.Checkpoint checkpoint, java.lang.String translogUUID) throws java.io.IOException
Given a file channel, opens aTranslogReader, taking care of checking and validating the file header.- Parameters:
channel- the translog file channelpath- the path to the translogcheckpoint- the translog checkpointtranslogUUID- the tranlog UUID- Returns:
- a new TranslogReader
- Throws:
java.io.IOException- if any of the file operations resulted in an I/O exception
-
sizeInBytes
public long sizeInBytes()
- Specified by:
sizeInBytesin classBaseTranslogReader
-
totalOperations
public int totalOperations()
- Specified by:
totalOperationsin classBaseTranslogReader
-
readBytes
protected void readBytes(java.nio.ByteBuffer buffer, long position) throws java.io.IOExceptionreads an operation at the given position into the given buffer.- Specified by:
readBytesin classBaseTranslogReader- Throws:
java.io.IOException
-
close
public final void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
isClosed
protected final boolean isClosed()
-
ensureOpen
protected void ensureOpen()
-
-