public abstract class AnswerReceiver extends java.lang.Object implements ClientReceiverInterface
| Modifier and Type | Field and Description |
|---|---|
private long |
_maximalWaitingTime
Maximale Wartezeit, in der eine Antwort eingehen muss.
|
protected DataDescription |
dataDescription
Angemeldete Atg und Aspekt.
|
protected ClientDavInterface |
dav
Verbindung zum Datenverteiler.
|
protected RingBuffer<ResultData> |
incoming
Eingegangene Daten
|
private static int |
INITIAL_RINGBUFFER_SIZE
Initialisierung Ringpuffer
|
protected SystemObject |
object
Skriptobjekt, auf das sich die Antwort bezieht.
|
protected SystemObject |
receiver
Objekt das die Anfrage, auf die sich diese Antwort bezieht, gesendet hat.
|
protected long |
requestId
Anfrage-Id.
|
| Constructor and Description |
|---|
AnswerReceiver(ClientDavInterface dav,
SystemObject object,
java.lang.String atg,
java.lang.String asp,
SystemObject receiver,
long requestId,
long timeout)
Erzeugt den Empfänger.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
hasData()
Zeigt an, ob Antwortdaten vorliegen.
|
protected void |
subscribe(ReceiverRole role) |
ResultData |
take()
Liefert einen Antwortdatensatz.
|
ResultData |
take(long timeout)
Liefert einen Antwortdatensatz.
|
boolean |
unsubscribe()
Meldet den Empfang von Daten ab.
|
protected abstract void |
update(ResultData result)
Wird für jeden empfangenen Datensatz von
update(ResultData[]) aufgerufen. |
void |
update(ResultData[] results)
Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes von den Datenverteiler-Applikationsfunktionen aufgerufen wird.
|
private static final int INITIAL_RINGBUFFER_SIZE
protected ClientDavInterface dav
protected SystemObject object
protected RingBuffer<ResultData> incoming
protected DataDescription dataDescription
protected long requestId
protected SystemObject receiver
private final long _maximalWaitingTime
public AnswerReceiver(ClientDavInterface dav, SystemObject object, java.lang.String atg, java.lang.String asp, SystemObject receiver, long requestId, long timeout)
dav - Verbindung zum Datenverteilerobject - Systemobjekt, dessen Daten empfangen werden sollenatg - Pid der Attributgruppe auf die sich der Empfänger anmeldet.asp - Pid des Aspekts auf den sich der Empfänger anmeldet.receiver - Objekt das als Absender im Datensatz eingetragen wist.requestId - Anfrage-Id.timeout - Maximale Wartezeit, in der eine Antwort eingehen muss. 0 ist die unbegrenzte Wartezeit.protected void subscribe(ReceiverRole role)
public boolean hasData()
public boolean unsubscribe()
truepublic void update(ResultData[] results)
de.bsvrz.dav.daf.main.ClientReceiverInterfaceupdate in interface ClientReceiverInterfaceresults - Feld mit den empfangenen Ergebnisdatensätzen.ClientReceiverInterface.update(ResultData[])protected abstract void update(ResultData result)
update(ResultData[]) aufgerufen.result - Eingehender Datensatz. Enthält Daten, d.h. rd.getData() ist nicht null.public ResultData take(long timeout) throws java.lang.InterruptedException
timeout - Wartezeit. 0 bedeutet unbegrenzte Wartezeit.java.lang.InterruptedException - Warten auf Antwortdatensatz wurde unterbrochen.public ResultData take() throws java.lang.InterruptedException
java.lang.InterruptedException - Warten auf Antwortdatensatz wurde unterbrochen.