public class SingleChronicleQueue extends Object implements RollingChronicleQueue
| Modifier and Type | Field and Description |
|---|---|
static String |
DISK_SPACE_CHECKER_NAME |
protected int |
sourceId |
protected ThreadLocal<ExcerptAppender> |
strongExcerptAppenderThreadLocal |
static String |
SUFFIX |
protected ThreadLocal<WeakReference<ExcerptAppender>> |
weakExcerptAppenderThreadLocal |
TEST_BLOCK_SIZE| Modifier | Constructor and Description |
|---|---|
protected |
SingleChronicleQueue(SingleChronicleQueueBuilder<?> builder) |
| Modifier and Type | Method and Description |
|---|---|
ExcerptAppender |
acquireAppender()
An Appender can be used to writeBytes new excerpts sequentially to the upper.
|
<T> void |
addCloseListener(T key,
Consumer<T> closer) |
long |
blockSize() |
long |
bufferCapacity() |
boolean |
buffered() |
void |
clear()
Remove all the entries in the queue.
|
void |
close() |
long |
countExcerpts(long fromIndex,
long toIndex)
Will give you the number of excerpts between 2 index?s ( as exists on the current file
system ).
|
ExcerptTailer |
createTailer()
Tailers are NOT thread-safe, sharing the Tailer between threads will lead to errors and unpredictable behaviour.
|
int |
cycle() |
int |
cycle(net.openhft.chronicle.core.time.TimeProvider timeProvider) |
int |
deltaCheckpointInterval() |
static File |
directoryListingPath(File queueFolder) |
String |
dump()
Dump a Queue in YAML format.
|
void |
dump(Writer writer,
long fromIndex,
long toIndex)
Dump a range of entries to a Writer
|
long |
entryCount()
Counts the number of messages in this queue instance.
|
long |
epoch() |
net.openhft.chronicle.core.threads.EventLoop |
eventLoop() |
long |
exceptsPerCycle(int cycle) |
File |
file() |
String |
fileAbsolutePath()
Cache this value as getAbsolutePath is expensive
|
protected int |
fileToCycle(File queueFile) |
int |
firstCycle() |
long |
firstIndex() |
int |
indexCount() |
int |
indexSpacing() |
boolean |
isClosed() |
long |
lastAcknowledgedIndexReplicated() |
int |
lastCycle() |
NavigableSet<Long> |
listCyclesBetween(int lowerCycle,
int upperCycle) |
protected ExcerptAppender |
newAppender() |
int |
nextCycle(int cycle,
TailerDirection direction)
the next available cycle, no cycle will be created by this method, this method is typically
used by a tailer to jump to the next cycle when the cycles are not adjacent.
|
Consumer<net.openhft.chronicle.bytes.BytesRingBufferStats> |
onRingBufferStats() |
long |
overlapSize() |
QueueLock |
queueLock() |
StoreRecoveryFactory |
recoverySupplier() |
void |
release(CommonStore store) |
RollCycle |
rollCycle() |
int |
sourceId() |
WireStore |
storeForCycle(int cycle,
long epoch,
boolean createIfAbsent) |
net.openhft.chronicle.core.time.TimeProvider |
time() |
String |
toString() |
net.openhft.chronicle.wire.WireType |
wireType() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcreateAppender, dump, methodWriter, methodWriterBuilder, numberOfReferencespublic static final String SUFFIX
public static final String DISK_SPACE_CHECKER_NAME
protected final ThreadLocal<WeakReference<ExcerptAppender>> weakExcerptAppenderThreadLocal
protected final ThreadLocal<ExcerptAppender> strongExcerptAppenderThreadLocal
protected int sourceId
protected SingleChronicleQueue(@NotNull
SingleChronicleQueueBuilder<?> builder)
@NotNull public static File directoryListingPath(File queueFolder) throws IOException
IOExceptionpublic int sourceId()
sourceId in interface ChronicleQueuepublic void clear()
ChronicleQueueclear in interface ChronicleQueue@NotNull public File file()
file in interface ChronicleQueue@NotNull public String fileAbsolutePath()
ChronicleQueuefileAbsolutePath in interface ChronicleQueue@NotNull public String dump()
ChronicleQueuedump in interface ChronicleQueuepublic void dump(@NotNull
Writer writer,
long fromIndex,
long toIndex)
ChronicleQueuedump in interface ChronicleQueuewriter - to write tofromIndex - first index to includetoIndex - last index to include.public int indexCount()
indexCount in interface RollingChronicleQueuepublic int indexSpacing()
indexSpacing in interface RollingChronicleQueuepublic long epoch()
epoch in interface RollingChronicleQueue@NotNull public RollCycle rollCycle()
rollCycle in interface RollingChronicleQueuepublic StoreRecoveryFactory recoverySupplier()
recoverySupplier in interface RollingChronicleQueuepublic int deltaCheckpointInterval()
deltaCheckpointInterval in interface RollingChronicleQueuepublic boolean buffered()
@Nullable public net.openhft.chronicle.core.threads.EventLoop eventLoop()
@NotNull protected ExcerptAppender newAppender()
@NotNull public ExcerptAppender acquireAppender()
ChronicleQueueAn Appender can be used to writeBytes new excerpts sequentially to the upper.
Appenders are NOT thread-safe, sharing the Appender between threads will lead to errors and unpredictable behaviour.
This method returns ThreadLocal appender, so does not produce any garbage, hence it's safe to simply call
this method every time an appender is needed.
acquireAppender in interface ChronicleQueue@NotNull public QueueLock queueLock()
queueLock in interface RollingChronicleQueue@NotNull public ExcerptTailer createTailer()
ChronicleQueuecreateTailer in interface ChronicleQueue@Nullable public final WireStore storeForCycle(int cycle, long epoch, boolean createIfAbsent)
storeForCycle in interface RollingChronicleQueuecycle - the cycleepoch - an epoch offset as the number of number of milliseconds since January
1, 1970, 00:00:00 GMTcreateIfAbsent - create missing stores if true, or return null if missingWireStore associated with this cycle, or null if !createIfAbsent
is false and absentpublic int nextCycle(int cycle,
@NotNull
TailerDirection direction)
throws ParseException
RollingChronicleQueuenextCycle in interface RollingChronicleQueuecycle - the current cycledirection - the directionParseExceptionpublic long exceptsPerCycle(int cycle)
public long countExcerpts(long fromIndex,
long toIndex)
throws IllegalStateException
countExcerpts in interface RollingChronicleQueuefromIndex - the lower indextoIndex - the higher indexIllegalStateException - if we are not able to read the chronicle filespublic NavigableSet<Long> listCyclesBetween(int lowerCycle, int upperCycle) throws ParseException
ParseExceptionpublic <T> void addCloseListener(T key,
Consumer<T> closer)
public boolean isClosed()
public void close()
close in interface Closeableclose in interface AutoCloseablepublic final void release(@Nullable
CommonStore store)
release in interface RollingChronicleQueuestore - the store to releasepublic final int cycle()
cycle in interface RollingChronicleQueuepublic final int cycle(net.openhft.chronicle.core.time.TimeProvider timeProvider)
public long firstIndex()
firstIndex in interface ChronicleQueuepublic long entryCount()
public int firstCycle()
firstCycle in interface RollingChronicleQueuepublic int lastCycle()
lastCycle in interface RollingChronicleQueueprotected int fileToCycle(File queueFile)
@NotNull public Consumer<net.openhft.chronicle.bytes.BytesRingBufferStats> onRingBufferStats()
public long blockSize()
public long overlapSize()
@NotNull public net.openhft.chronicle.wire.WireType wireType()
wireType in interface ChronicleQueuepublic long bufferCapacity()
@NotNull public net.openhft.chronicle.core.time.TimeProvider time()
public long lastAcknowledgedIndexReplicated()
lastAcknowledgedIndexReplicated in interface ChronicleQueueCopyright © 2018. All rights reserved.