Class RequestReceiver<T>

java.lang.Object
de.bsvrz.dav.daf.main.impl.config.request.util.RequestReceiver<T>

public class RequestReceiver<T>
extends java.lang.Object
Basisklasse, die beim Empfangen von Konfigurationsantworten hilft, indem aus den bereits bekannten Antworten diejenige mit der korrekten Request-ID geholt wird, bzw. wenn noch keine vorhanden ist, auf eine entsprechende Antwort gewartet wird.
  • Constructor Summary

    Constructors
    Constructor Description
    RequestReceiver​(long timeoutDuration, java.util.concurrent.TimeUnit unit)
    Erstellt einen neuen RequestReceiver.
  • Method Summary

    Modifier and Type Method Description
    void answerReceived​(int requestIndex, T answer)
    Wird aufgerufen, wenn eine Konfigurationsantwort eingegangen ist.
    T getAnswer​(int requestIndex)
    Holt eine bereits eingegangene Konfigurationsantwort ab, oder wartet maximal timeoutDuration, bis diese noch ankommt.
    long getTimeoutDuration()
    Timeout für den Empfang einer Konfigurationsantwort.
    java.util.concurrent.TimeUnit getTimeoutUnit()
    Gibt die Einheit von TimeoutDuration zurück.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RequestReceiver

      public RequestReceiver​(long timeoutDuration, java.util.concurrent.TimeUnit unit)
      Erstellt einen neuen RequestReceiver.
      Parameters:
      timeoutDuration - Timeout für den Empfang einer Konfigurationsantwort. Wenn diese Dauer (in _timeoutUnit) überschritten wird, wird davon Ausgegangen dass keine Antwort mehr erfolgt.
      unit - definiert die Einheit für timeoutDuration.
  • Method Details

    • getAnswer

      public T getAnswer​(int requestIndex) throws RequestException
      Holt eine bereits eingegangene Konfigurationsantwort ab, oder wartet maximal timeoutDuration, bis diese noch ankommt.
      Parameters:
      requestIndex - RequestIndex der Nachricht, auf die gewartet werden soll.
      Returns:
      Nachricht
      Throws:
      RequestException - Wenn die Konfiguration nicht innerhalb des Zeitlimits eine gültige Antwort geschickt hat.
    • answerReceived

      public void answerReceived​(int requestIndex, T answer)
      Wird aufgerufen, wenn eine Konfigurationsantwort eingegangen ist. Die Nachricht sorgt dann dafür, dass ein aktuell wartender oder ein zukünftiger getAnswer(int)-Aufruf die hier übergebene Nachricht zurückgibt.
      Parameters:
      requestIndex - Request-Index der hier übergebenen Nachricht
      answer - Eigentliche Nachricht
    • getTimeoutDuration

      public long getTimeoutDuration()
      Timeout für den Empfang einer Konfigurationsantwort. Wenn diese Dauer (in timeoutUnit) überschritten wird, wird davon Ausgegangen dass keine Antwort mehr erfolgt.
      Returns:
      Wert TimeoutDuration
    • getTimeoutUnit

      public java.util.concurrent.TimeUnit getTimeoutUnit()
      Gibt die Einheit von TimeoutDuration zurück.
      Returns:
      die Einheit von getTimeoutDuration()