Package com.lmax.disruptor.util
Class Util
- java.lang.Object
-
- com.lmax.disruptor.util.Util
-
public final class Util extends Object
Set of common functions used by the Disruptor
-
-
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 longgetAddressFromDirectByteBuffer(ByteBuffer buffer)Gets the address value for the memory that backs a direct byte buffer.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
-
getAddressFromDirectByteBuffer
public static long getAddressFromDirectByteBuffer(ByteBuffer buffer)
Gets the address value for the memory that backs a direct byte buffer.- Parameters:
buffer-- Returns:
- The system address for the buffers
-
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
-
-