Package com.lmax.disruptor.util
Class Util
- java.lang.Object
-
- com.lmax.disruptor.util.Util
-
public final class Util extends java.lang.ObjectSet of common functions used by the Disruptor
-
-
Field Summary
Fields Modifier and Type Field Description private static sun.misc.UnsafeTHE_UNSAFE
-
Constructor Summary
Constructors Constructor Description Util()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static 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.UnsafegetUnsafe()Get 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.
-
-
-
Method Detail
-
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
public static long getMinimumSequence(Sequence[] sequences)
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
public static long getMinimumSequence(Sequence[] sequences, long minimum)
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
public static Sequence[] getSequencesFor(EventProcessor... processors)
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
-
-