Class ForkNumberBucket

java.lang.Object
org.apache.maven.plugin.surefire.booterclient.ForkNumberBucket

public final class ForkNumberBucket extends Object
A 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 Details

  • Constructor Details

    • ForkNumberBucket

      private ForkNumberBucket()
      Non-public constructor
  • Method Details

    • 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.