Class ForkNumberBucket
- java.lang.Object
-
- org.apache.maven.plugin.surefire.booterclient.ForkNumberBucket
-
public final class ForkNumberBucket extends java.lang.ObjectA bucket from which fork numbers can be drawn. Any drawn number needs to be returned to the bucket, in order to keep the range of provided values delivered as small as possible.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicIntegerhighWaterMarkprivate static ForkNumberBucketINSTANCEprivate java.util.Queue<java.lang.Integer>qFree
-
Constructor Summary
Constructors Modifier Constructor Description privateForkNumberBucket()Non-public constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static intdrawNumber()private intdrawNumberInternal()private intgetHighestDrawnNumber()private static ForkNumberBucketgetInstance()static voidreturnNumber(int number)private voidreturnNumberInternal(int number)
-
-
-
Field Detail
-
INSTANCE
private static final ForkNumberBucket INSTANCE
-
qFree
private final java.util.Queue<java.lang.Integer> qFree
-
highWaterMark
private final java.util.concurrent.atomic.AtomicInteger highWaterMark
-
-
Method Detail
-
drawNumber
public static int drawNumber()
- Returns:
- a fork number that is not currently in use. The value must be returned to the bucket using
returnNumber(int).
-
returnNumber
public static void returnNumber(int number)
- Parameters:
number- the number to return to the bucket so that it can be reused.
-
getInstance
private static ForkNumberBucket getInstance()
- Returns:
- a singleton instance
-
drawNumberInternal
private int drawNumberInternal()
- Returns:
- a fork number that is not currently in use. The value must be returned to the bucket using
returnNumber(int).
-
getHighestDrawnNumber
private int getHighestDrawnNumber()
- Returns:
- the highest number that has been drawn
-
returnNumberInternal
private void returnNumberInternal(int number)
- Parameters:
number- the number to return to the bucket so that it can be reused.
-
-