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
All Methods Instance Methods Concrete Methods 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.
-
-
-
Constructor Detail
-
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 Detail
-
getAnswer
public T getAnswer(int requestIndex) throws RequestException
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
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ü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()
-
-