public interface RollCycle
Modifier and Type | Field and Description |
---|---|
static int |
MAX_INDEX_COUNT |
Modifier and Type | Method and Description |
---|---|
default int |
current(@NotNull net.openhft.chronicle.core.time.TimeProvider time,
long epoch)
Returns the current cycle.
|
default int |
defaultEpoch() |
int |
defaultIndexCount() |
int |
defaultIndexSpacing()
Returns the space between excerpts that are explicitly indexed.
|
@NotNull String |
format()
Returns the format that is to be applied when file names are calculated for a new roll cycle.
|
int |
lengthInMillis()
Returns the length in milliseconds (i.e.
|
long |
maxMessagesPerCycle() |
int |
toCycle(long index)
Returns the cycle for the given
index . |
long |
toIndex(int cycle,
long sequenceNumber)
Returns the index for the provided
cycle and sequenceNumber . |
long |
toSequenceNumber(long index)
Returns the sequence number for the provided
index . |
static final int MAX_INDEX_COUNT
@NotNull @NotNull String format()
For example, the following formats can be returned:
cycle1 < cycle2
,
the same relation must be kept for their string representations.int lengthInMillis()
For example, the following lengths can be returned:
default int defaultEpoch()
int defaultIndexCount()
int defaultIndexSpacing()
A higher number means higher sequential write performance but slower random access read. The sequential read performance is not affected by this property.
For example, the following default index spacing can be returned:
default int current(@NotNull @NotNull net.openhft.chronicle.core.time.TimeProvider time, long epoch)
epoch
- an EPOCH offset, to all the user to define their own epochlong toIndex(int cycle, long sequenceNumber)
cycle
and sequenceNumber
.
An index is made up of cycle
shifted left + sequenceNumber
. sequenceNumber
starts at 0 for each new cycle
.
DAILY cycle has cycleShift=32 and sequenceMask=0xFFFFFFFF so the top 32 bits are for cycle and bottom
32 bits are for sequence. This means you can only store 2^32 entries per day.
HUGE_DAILY has shift=48 and mask=0xFFFFFFFFFFFF thus allowing 2^48 entries per day.
cycle
- to be composed into an indexsequenceNumber
- to be composed into an indexcycle
and sequenceNumber
long toSequenceNumber(long index)
index
.
An index comprises both a cycle and a sequence number but the way the index is composed of said properties may vary. This method
decomposes the provided index
and extracts the sequence number.
index
- to use to extract the sequence numberindex
int toCycle(long index)
index
.
An index comprises both a cycle and a sequence number but the way the index is composed of said properties may vary. This method
decomposes the provided index
and extracts the cycle.
index
- to use when extracting the cycleindex
long maxMessagesPerCycle()
Copyright © 2025. All rights reserved.