Package org.jctools.queues.atomic
Class AtomicQueueUtil
- java.lang.Object
-
- org.jctools.queues.atomic.AtomicQueueUtil
-
public final class AtomicQueueUtil extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description AtomicQueueUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.concurrent.atomic.AtomicLongArray
allocateLongArray(int capacity)
static <E> java.util.concurrent.atomic.AtomicReferenceArray<E>
allocateRefArray(int capacity)
static int
calcCircularLongElementOffset(long index, int mask)
static int
calcCircularRefElementOffset(long index, long mask)
static int
calcLongElementOffset(long index)
static int
calcRefElementOffset(long index)
static int
length(java.util.concurrent.atomic.AtomicReferenceArray<?> buf)
static long
lpLongElement(java.util.concurrent.atomic.AtomicLongArray buffer, int offset)
static <E> E
lpRefElement(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset)
static long
lvLongElement(java.util.concurrent.atomic.AtomicLongArray buffer, int offset)
static <E> E
lvRefElement(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset)
static int
modifiedCalcCircularRefElementOffset(long index, long mask)
This method assumes index is actually (index << 1) because lower bit is used for resize hence the >> 1static int
nextArrayOffset(java.util.concurrent.atomic.AtomicReferenceArray<?> curr)
static void
soLongElement(java.util.concurrent.atomic.AtomicLongArray buffer, int offset, long e)
static void
soRefElement(java.util.concurrent.atomic.AtomicReferenceArray buffer, int offset, java.lang.Object value)
static void
spLongElement(java.util.concurrent.atomic.AtomicLongArray buffer, int offset, long e)
static <E> void
spRefElement(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset, E value)
static <E> void
svRefElement(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset, E value)
-
-
-
Method Detail
-
lvRefElement
public static <E> E lvRefElement(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset)
-
lpRefElement
public static <E> E lpRefElement(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset)
-
spRefElement
public static <E> void spRefElement(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset, E value)
-
soRefElement
public static void soRefElement(java.util.concurrent.atomic.AtomicReferenceArray buffer, int offset, java.lang.Object value)
-
svRefElement
public static <E> void svRefElement(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset, E value)
-
calcRefElementOffset
public static int calcRefElementOffset(long index)
-
calcCircularRefElementOffset
public static int calcCircularRefElementOffset(long index, long mask)
-
allocateRefArray
public static <E> java.util.concurrent.atomic.AtomicReferenceArray<E> allocateRefArray(int capacity)
-
spLongElement
public static void spLongElement(java.util.concurrent.atomic.AtomicLongArray buffer, int offset, long e)
-
soLongElement
public static void soLongElement(java.util.concurrent.atomic.AtomicLongArray buffer, int offset, long e)
-
lpLongElement
public static long lpLongElement(java.util.concurrent.atomic.AtomicLongArray buffer, int offset)
-
lvLongElement
public static long lvLongElement(java.util.concurrent.atomic.AtomicLongArray buffer, int offset)
-
calcLongElementOffset
public static int calcLongElementOffset(long index)
-
calcCircularLongElementOffset
public static int calcCircularLongElementOffset(long index, int mask)
-
allocateLongArray
public static java.util.concurrent.atomic.AtomicLongArray allocateLongArray(int capacity)
-
length
public static int length(java.util.concurrent.atomic.AtomicReferenceArray<?> buf)
-
modifiedCalcCircularRefElementOffset
public static int modifiedCalcCircularRefElementOffset(long index, long mask)
This method assumes index is actually (index << 1) because lower bit is used for resize hence the >> 1
-
nextArrayOffset
public static int nextArrayOffset(java.util.concurrent.atomic.AtomicReferenceArray<?> curr)
-
-