Package com.lmax.disruptor.util
Class Util
java.lang.Object
com.lmax.disruptor.util.Util
Set of common functions used by the Disruptor
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intceilingNextPowerOfTwo(int x) Calculate the next power of 2, greater than or equal to x.static longgetMinimumSequence(Sequence[] sequences) Get the minimum sequence from an array ofSequences.static longgetMinimumSequence(Sequence[] sequences, long minimum) Get the minimum sequence from an array ofSequences.static Sequence[]getSequencesFor(EventProcessor... processors) Get an array ofSequences for the passedEventProcessorsstatic sun.misc.UnsafeGet a handle on the Unsafe instance, used for accessing low-level concurrency and memory constructs.static intlog2(int i) Calculate the log base 2 of the supplied integer, essentially reports the location of the highest bit.
-
Field Details
-
THE_UNSAFE
private static final sun.misc.Unsafe THE_UNSAFE
-
-
Constructor Details
-
Util
public Util()
-
-
Method Details
-
ceilingNextPowerOfTwo
public static int ceilingNextPowerOfTwo(int x) Calculate the next power of 2, greater than or equal to x.From Hacker's Delight, Chapter 3, Harry S. Warren Jr.
- Parameters:
x- Value to round up- Returns:
- The next power of 2 from x inclusive
-
getMinimumSequence
Get the minimum sequence from an array ofSequences.- Parameters:
sequences- to compare.- Returns:
- the minimum sequence found or Long.MAX_VALUE if the array is empty.
-
getMinimumSequence
Get the minimum sequence from an array ofSequences.- Parameters:
sequences- to compare.minimum- an initial default minimum. If the array is empty this value will be returned.- Returns:
- the smaller of minimum sequence value found in
sequencesandminimum;minimumifsequencesis empty
-
getSequencesFor
Get an array ofSequences for the passedEventProcessors- Parameters:
processors- for which to get the sequences- Returns:
- the array of
Sequences
-
getUnsafe
public static sun.misc.Unsafe getUnsafe()Get a handle on the Unsafe instance, used for accessing low-level concurrency and memory constructs.- Returns:
- The Unsafe
-
log2
public static int log2(int i) Calculate the log base 2 of the supplied integer, essentially reports the location of the highest bit.- Parameters:
i- Value to calculate log2 for.- Returns:
- The log2 value
-