public enum TestRollCycles extends Enum<TestRollCycles> implements RollCycle
| Enum Constant and Description |
|---|
TEST_DAILY
0x40 entries per day - Only good for testing
|
TEST_HOURLY
0x400 entries per hour - Only good for testing
|
TEST_SECONDLY
0xffffffff entries - Only good for testing
|
TEST2_DAILY
0x200 entries per day - Only good for testing
|
TEST4_DAILY
0x1000 entries per day - Only good for testing
|
TEST4_SECONDLY
0x1000 entries - Only good for testing
|
TEST8_DAILY
0x20000 entries per day - Only good for testing
|
MAX_INDEX_COUNT| Modifier and Type | Method and Description |
|---|---|
int |
defaultIndexCount() |
int |
defaultIndexSpacing()
Returns the space between excerpts that are explicitly indexed.
|
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 TestRollCycles |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static TestRollCycles[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final TestRollCycles TEST_SECONDLY
public static final TestRollCycles TEST4_SECONDLY
public static final TestRollCycles TEST_HOURLY
public static final TestRollCycles TEST_DAILY
public static final TestRollCycles TEST2_DAILY
public static final TestRollCycles TEST4_DAILY
public static final TestRollCycles TEST8_DAILY
public static TestRollCycles[] values()
for (TestRollCycles c : TestRollCycles.values()) System.out.println(c);
public static TestRollCycles valueOf(String name)
name - the name of the enum constant to be returned.IllegalArgumentException - if this enum type has no constant with the specified nameNullPointerException - if the argument is nullpublic long maxMessagesPerCycle()
maxMessagesPerCycle in interface RollCyclepublic String format()
RollCycleFor example, the following formats can be returned:
cycle1 < cycle2,
the same relation must be kept for their string representations.public int lengthInMillis()
RollCycleFor example, the following lengths can be returned:
lengthInMillis in interface RollCyclepublic int defaultIndexCount()
defaultIndexCount in interface RollCyclepublic int defaultIndexSpacing()
RollCycleA 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:
defaultIndexSpacing in interface RollCyclepublic long toIndex(int cycle,
long sequenceNumber)
RollCyclecycle 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.
public long toSequenceNumber(long index)
RollCycleindex.
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.
toSequenceNumber in interface RollCycleindex - to use to extract the sequence numberindexpublic int toCycle(long index)
RollCycleindex.
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.
Copyright © 2023. All rights reserved.