Class RequestReceiver<T>
java.lang.Object
de.bsvrz.dav.daf.main.impl.config.request.util.RequestReceiver<T>
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
ConstructorsConstructorDescriptionRequestReceiver
(long timeoutDuration, TimeUnit unit) Erstellt einen neuen RequestReceiver. -
Method Summary
Modifier and TypeMethodDescriptionvoid
answerReceived
(int requestIndex, T answer) Wird aufgerufen, wenn eine Konfigurationsantwort eingegangen ist.getAnswer
(int requestIndex) Holt eine bereits eingegangene Konfigurationsantwort ab, oder wartet maximaltimeoutDuration
, bis diese noch ankommt.long
Timeout für den Empfang einer Konfigurationsantwort.Gibt die Einheit vonTimeoutDuration
zurück.
-
Constructor Details
-
RequestReceiver
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
Gibt die Einheit vonTimeoutDuration
zurück.- Returns:
- die Einheit von
getTimeoutDuration()
-