public class MemoryRedoLogFile<T extends IReplicationOrderedPacket> extends Object implements IRedoLogFile<T>
IRedoLogFile
interface. Packets are stored only
in the jvm memoryConstructor and Description |
---|
MemoryRedoLogFile(String name,
AbstractSingleFileGroupBacklog groupBacklog) |
Modifier and Type | Method and Description |
---|---|
void |
add(T replicationPacket)
Add a replication packet to the file as the latest packet
|
void |
close()
Closes the redo log file
|
void |
deleteOldestPackets(long packetsCount)
Deletes the oldest packets, starting from the oldest up until the specified batch size
|
long |
getApproximateSize()
Gets an approximation of the number of replication packets held in the file, implementation
of this method should not assume a reader lock is held and hence can return a result which is
not accurate if it cannot do so without a lock.
|
long |
getDiscardedPacketsCount() |
long |
getExternalStoragePacketsCount() |
long |
getExternalStorageSpaceUsed() |
long |
getMemoryPacketsCount() |
T |
getOldest() |
long |
getWeight() |
boolean |
isEmpty() |
Iterator<T> |
iterator() |
CompactionResult |
performCompaction(long from,
long to) |
ReadOnlyIterator<T> |
readOnlyIterator() |
ReadOnlyIterator<T> |
readOnlyIterator(long fromIndex) |
T |
removeOldest()
Remove and returns the oldest replication packet in the file
|
long |
size() |
void |
validateIntegrity()
Validates the integrity of the redo log file
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public MemoryRedoLogFile(String name, AbstractSingleFileGroupBacklog groupBacklog)
public void add(T replicationPacket)
IRedoLogFile
add
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
replicationPacket
- packet to addpublic T getOldest()
getOldest
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
public boolean isEmpty()
isEmpty
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
public long getExternalStorageSpaceUsed()
getExternalStorageSpaceUsed
in interface IRedoLogFileStatistics
public long getExternalStoragePacketsCount()
getExternalStoragePacketsCount
in interface IRedoLogFileStatistics
public long getMemoryPacketsCount()
getMemoryPacketsCount
in interface IRedoLogFileStatistics
public ReadOnlyIterator<T> readOnlyIterator(long fromIndex)
readOnlyIterator
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
fromIndex
- index to start frompublic Iterator<T> iterator()
iterator
in interface Iterable<T extends IReplicationOrderedPacket>
public ReadOnlyIterator<T> readOnlyIterator()
readOnlyIterator
in interface ReadOnlyIterable<T extends IReplicationOrderedPacket>
public T removeOldest()
IRedoLogFile
removeOldest
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
public long size()
size
in interface IRedoLogFileStatistics
size
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
public long getApproximateSize()
IRedoLogFile
getApproximateSize
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
public void deleteOldestPackets(long packetsCount)
IRedoLogFile
deleteOldestPackets
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
packetsCount
- number of oldest packets to deletepublic void validateIntegrity() throws RedoLogFileCompromisedException
IRedoLogFile
validateIntegrity
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
RedoLogFileCompromisedException
public void close()
IRedoLogFile
close
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
public long getWeight()
getWeight
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
public long getDiscardedPacketsCount()
getDiscardedPacketsCount
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
public CompactionResult performCompaction(long from, long to)
performCompaction
in interface IRedoLogFile<T extends IReplicationOrderedPacket>
from
- key to start searching transient packet fromto
- key to end searching transient packet fromCopyright © GigaSpaces.