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 maximaltimeoutDuration
, bis diese noch ankommt.long
getTimeoutDuration()
Timeout für den Empfang einer Konfigurationsantwort.java.util.concurrent.TimeUnit
getTimeoutUnit()
Gibt die Einheit vonTimeoutDuration
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
Holt eine bereits eingegangene Konfigurationsantwort ab, oder wartet maximaltimeoutDuration
, 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
Wird aufgerufen, wenn eine Konfigurationsantwort eingegangen ist. Die Nachricht sorgt dann dafür, dass ein aktuell wartender oder ein zukünftigergetAnswer(int)
-Aufruf die hier übergebene Nachricht zurückgibt.- Parameters:
requestIndex
- Request-Index der hier übergebenen Nachrichtanswer
- 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 vonTimeoutDuration
zurück.- Returns:
- die Einheit von
getTimeoutDuration()
-