Class BlockBasedDataStoreJournal
- java.lang.Object
-
- net.timewalker.ffmq4.storage.data.impl.journal.BlockBasedDataStoreJournal
-
public final class BlockBasedDataStoreJournal extends Object
BlockBasedDataStoreJournal
-
-
Constructor Summary
Constructors Constructor Description BlockBasedDataStoreJournal(String baseName, File dataFolder, long maxJournalSize, int maxWriteBatchSize, int maxUnflushedJournalSize, int maxUncommittedStoreSize, int journalOutputBuffer, int storageSyncMethod, boolean preAllocateFiles, RandomAccessFile allocationTableRandomAccessFile, RandomAccessFile dataRandomAccessFile, DirtyBlockTable dirtyBlockTable, AsyncTaskManager asyncTaskManager)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidcommit(SynchronizationBarrier barrier)Commit the journal (asynchronous)voidextendStore(int blockSize, int oldBlockCount, int newBlockCount)Write some store extend operation (asynchronous)voidflush()Flush the journal write queue (asynchronous)protected voidflushJournal()protected voidflushStore()voidwriteDataBlock(int blockIndex, long blockOffset, byte[] blockData)Write a data block (asynchronous)voidwriteMetaData(long metaDataOffset, int metaData)Write some metadata value (asynchronous)voidwriteMetaDataBlock(long metaDataOffset, byte[] metaData)Write some metadata block (asynchronous)
-
-
-
Constructor Detail
-
BlockBasedDataStoreJournal
public BlockBasedDataStoreJournal(String baseName, File dataFolder, long maxJournalSize, int maxWriteBatchSize, int maxUnflushedJournalSize, int maxUncommittedStoreSize, int journalOutputBuffer, int storageSyncMethod, boolean preAllocateFiles, RandomAccessFile allocationTableRandomAccessFile, RandomAccessFile dataRandomAccessFile, DirtyBlockTable dirtyBlockTable, AsyncTaskManager asyncTaskManager)
Constructor
-
-
Method Detail
-
writeDataBlock
public void writeDataBlock(int blockIndex, long blockOffset, byte[] blockData) throws JournalExceptionWrite a data block (asynchronous)- Throws:
JournalException
-
writeMetaDataBlock
public void writeMetaDataBlock(long metaDataOffset, byte[] metaData) throws JournalExceptionWrite some metadata block (asynchronous)- Throws:
JournalException
-
writeMetaData
public void writeMetaData(long metaDataOffset, int metaData) throws JournalExceptionWrite some metadata value (asynchronous)- Throws:
JournalException
-
extendStore
public void extendStore(int blockSize, int oldBlockCount, int newBlockCount) throws JournalExceptionWrite some store extend operation (asynchronous)- Throws:
JournalException
-
flush
public void flush() throws JournalExceptionFlush the journal write queue (asynchronous)- Throws:
JournalException
-
commit
public void commit(SynchronizationBarrier barrier) throws JournalException
Commit the journal (asynchronous)- Throws:
JournalException
-
flushJournal
protected void flushJournal()
-
flushStore
protected void flushStore()
-
close
public void close() throws JournalException- Throws:
JournalException
-
-