Class AbstractEvaluationStorage

All Implemented Interfaces:
Closeable, AutoCloseable, CommandReceivingComponent, Component, ExpectedResponseReceivingComponent, PlatformConnector, ResponseReceivingComponent
Direct Known Subclasses:
InMemoryEvaluationStore

public abstract class AbstractEvaluationStorage extends AbstractPlatformConnectorComponent implements ResponseReceivingComponent, ExpectedResponseReceivingComponent
This abstract class implements basic functions that can be used to implement a task generator.
Author:
Michael Röder (roeder@informatik.uni-leipzig.de)
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • RECEIVE_TIMESTAMP_FOR_SYSTEM_RESULTS_KEY

      public static final String RECEIVE_TIMESTAMP_FOR_SYSTEM_RESULTS_KEY
      See Also:
    • NEW_ITERATOR_ID

      public static final byte NEW_ITERATOR_ID
      If a request contains this iterator ID, a new iterator is created and its first result as well as its Id are returned.
      See Also:
    • EMPTY_RESPONSE

      private static final byte[] EMPTY_RESPONSE
      The empty response that is sent if an error occurs.
    • DEFAULT_MAX_PARALLEL_PROCESSED_MESSAGES

      private static final int DEFAULT_MAX_PARALLEL_PROCESSED_MESSAGES
      Default value of the maxParallelProcessedMsgs attribute.
      See Also:
    • terminationMutex

      private Semaphore terminationMutex
      Mutex used to wait for the termination signal.
    • maxParallelProcessedMsgs

      private final int maxParallelProcessedMsgs
      The maximum number of incoming messages of a single queue that are processed in parallel. Additional messages have to wait.
    • resultPairIterators

      protected List<Iterator<? extends ResultPair>> resultPairIterators
      Iterators that have been started.
    • taskResultReceiver

      protected DataReceiver taskResultReceiver
      The incoming queue from the task generator.
    • systemResultReceiver

      protected DataReceiver systemResultReceiver
      The incoming queue from the system.
    • evalModule2EvalStoreQueue

      protected RabbitQueue evalModule2EvalStoreQueue
      The incoming queue from the evaluation module.
    • ackChannel

      protected com.rabbitmq.client.Channel ackChannel
      Channel on which the acknowledgements are send.
  • Constructor Details

    • AbstractEvaluationStorage

      public AbstractEvaluationStorage()
    • AbstractEvaluationStorage

      public AbstractEvaluationStorage(int maxParallelProcessedMsgs)
      Constructor setting the maximum number of messages processed in parallel.
      Parameters:
      maxParallelProcessedMsgs - The maximum number of incoming messages of a single queue that are processed in parallel. Additional messages have to wait.
  • Method Details