org.hornetq.core.journal.impl
public abstract class AbstractSequentialFile extends Object implements SequentialFile
Modifier and Type | Class and Description |
---|---|
protected class |
AbstractSequentialFile.LocalBufferObserver |
Modifier and Type | Field and Description |
---|---|
protected SequentialFileFactory |
factory |
protected long |
fileSize |
protected AtomicLong |
position |
protected TimedBuffer |
timedBuffer |
protected TimedBufferObserver |
timedBufferObserver
Instead of having AIOSequentialFile implementing the Observer, I have done it on an inner class.
|
protected Executor |
writerExecutor
Used for asynchronous writes
|
Constructor and Description |
---|
AbstractSequentialFile(String directory,
File file,
SequentialFileFactory factory,
Executor writerExecutor) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
copyTo(SequentialFile newFileName) |
void |
delete() |
boolean |
exists() |
boolean |
fits(int size) |
protected File |
getFile() |
String |
getFileName() |
File |
getJavaFile()
Returns a native File of the file underlying this sequential file.
|
protected ByteBuffer |
newBuffer(int size,
int limit) |
long |
position() |
void |
position(long pos) |
void |
renameTo(String newFileName) |
void |
setTimedBuffer(TimedBuffer buffer) |
void |
write(EncodingSupport bytes,
boolean sync) |
void |
write(EncodingSupport bytes,
boolean sync,
IOAsyncTask callback) |
void |
write(HornetQBuffer bytes,
boolean sync) |
void |
write(HornetQBuffer bytes,
boolean sync,
IOAsyncTask callback) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
calculateBlockStart, cloneFile, fill, getAlignment, isOpen, open, open, read, read, size, sync, waitForClose, writeDirect, writeDirect, writeInternal
protected final SequentialFileFactory factory
protected long fileSize
protected final AtomicLong position
protected TimedBuffer timedBuffer
protected final TimedBufferObserver timedBufferObserver
protected final Executor writerExecutor
public AbstractSequentialFile(String directory, File file, SequentialFileFactory factory, Executor writerExecutor)
file
- directory
- public final boolean exists()
exists
in interface SequentialFile
public final String getFileName()
getFileName
in interface SequentialFile
public final void delete() throws IOException, InterruptedException, HornetQException
delete
in interface SequentialFile
IOException
InterruptedException
HornetQException
public void copyTo(SequentialFile newFileName) throws Exception
copyTo
in interface SequentialFile
Exception
public void position(long pos) throws IOException
position
in interface SequentialFile
IOException
- only declare exception due to signature. Sub-class needs it.public long position()
position
in interface SequentialFile
public final void renameTo(String newFileName) throws IOException, InterruptedException, HornetQException
renameTo
in interface SequentialFile
IOException
InterruptedException
HornetQException
public void close() throws IOException, InterruptedException, HornetQException
close
in interface SequentialFile
IOException
- we declare throwing IOException because sub-classes need to do itHornetQException
InterruptedException
public final boolean fits(int size)
fits
in interface SequentialFile
public void setTimedBuffer(TimedBuffer buffer)
setTimedBuffer
in interface SequentialFile
public void write(HornetQBuffer bytes, boolean sync, IOAsyncTask callback) throws IOException
write
in interface SequentialFile
IOException
public void write(HornetQBuffer bytes, boolean sync) throws IOException, InterruptedException, HornetQException
write
in interface SequentialFile
IOException
InterruptedException
HornetQException
public void write(EncodingSupport bytes, boolean sync, IOAsyncTask callback)
write
in interface SequentialFile
public void write(EncodingSupport bytes, boolean sync) throws InterruptedException, HornetQException
write
in interface SequentialFile
InterruptedException
HornetQException
protected File getFile()
protected ByteBuffer newBuffer(int size, int limit)
public File getJavaFile()
SequentialFile
getJavaFile
in interface SequentialFile
Copyright © 2015 JBoss, a division of Red Hat. All Rights Reserved.