Package jadex.common

Class ConstantPoolStrategy

java.lang.Object
jadex.common.ConstantPoolStrategy
All Implemented Interfaces:
IPoolStrategy

public class ConstantPoolStrategy extends Object implements IPoolStrategy
Simple strategy with a constant number of workers.
  • Field Details

    • workercnt

      protected int workercnt
      The number of workers in the pool.
    • capacity

      protected int capacity
      The number of free workers.
  • Constructor Details

    • ConstantPoolStrategy

      public ConstantPoolStrategy()
      Create a new ConstantPoolStrategy.
    • ConstantPoolStrategy

      public ConstantPoolStrategy(int workercnt)
      Create a new ConstantPoolStrategy.
  • Method Details

    • taskAdded

      public boolean taskAdded()
      Called when a new task was added to the pool.
      Specified by:
      taskAdded in interface IPoolStrategy
      Returns:
      True, if a new worker should be added to the pool.
    • workersAdded

      public void workersAdded(int cnt)
      Called when a new worker was added proactively to the pool.
      Specified by:
      workersAdded in interface IPoolStrategy
      Parameters:
      cnt - The number of new workers.
    • taskServed

      public void taskServed(long waitdur)
      Called when a new task was served from the pool.
      Specified by:
      taskServed in interface IPoolStrategy
      Parameters:
      waitdur - The waiting time of the task.
    • taskFinished

      public boolean taskFinished()
      Called when a task is finished.
      Specified by:
      taskFinished in interface IPoolStrategy
      Returns:
      True, if executing worker should be removed from the pool.
    • getWorkerTimeout

      public long getWorkerTimeout()
      Get the component timeout.
      Specified by:
      getWorkerTimeout in interface IPoolStrategy
      Returns:
      The timeout for the component to wait for new workers in the pool.
    • workerTimeoutOccurred

      public boolean workerTimeoutOccurred()
      Notify the strategy that a timeout for a component has occurred, i.e. it was not needed for serving some worker.
      Specified by:
      workerTimeoutOccurred in interface IPoolStrategy
      Returns:
      True, if the component be excluded from the pool.
    • getWorkerCount

      public int getWorkerCount()
      Get the worker cnt.
      Specified by:
      getWorkerCount in interface IPoolStrategy
    • getCapacity

      public int getCapacity()
      Get the number of free workers.
      Specified by:
      getCapacity in interface IPoolStrategy