Package com.lmax.disruptor.util
Class Util
- java.lang.Object
-
- com.lmax.disruptor.util.Util
-
public final class Util extends java.lang.Object
Set of common functions used by the Disruptor
-
-
Field Summary
Fields Modifier and Type Field Description private static sun.misc.Unsafe
THE_UNSAFE
-
Constructor Summary
Constructors Constructor Description Util()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
ceilingNextPowerOfTwo(int x)
Calculate the next power of 2, greater than or equal to x.static long
getMinimumSequence(Sequence[] sequences)
Get the minimum sequence from an array ofSequence
s.static long
getMinimumSequence(Sequence[] sequences, long minimum)
Get the minimum sequence from an array ofSequence
s.static Sequence[]
getSequencesFor(EventProcessor... processors)
Get an array ofSequence
s for the passedEventProcessor
sstatic sun.misc.Unsafe
getUnsafe()
Get a handle on the Unsafe instance, used for accessing low-level concurrency and memory constructs.static int
log2(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 ofSequence
s.- 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 ofSequence
s.- 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
sequences
andminimum
;minimum
ifsequences
is empty
-
getSequencesFor
public static Sequence[] getSequencesFor(EventProcessor... processors)
Get an array ofSequence
s for the passedEventProcessor
s- Parameters:
processors
- for which to get the sequences- Returns:
- the array of
Sequence
s
-
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
-
-