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 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
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.
-
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 ofSequence
s.- 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 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
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
-