public abstract class AnswerReceiver extends java.lang.Object implements ClientReceiverInterface
Modifier and Type | Field and Description |
---|---|
protected DataDescription |
dataDescription
Angemeldete Atg und Aspekt.
|
protected ClientDavInterface |
dav
Verbindung zum Datenverteiler.
|
protected RingBuffer<ResultData> |
incoming
Eingegangene Daten
|
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.
|
protected ClientDavInterface dav
protected SystemObject object
protected RingBuffer<ResultData> incoming
protected DataDescription dataDescription
protected long requestId
protected SystemObject receiver
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()
true
public void update(ResultData[] results)
de.bsvrz.dav.daf.main.ClientReceiverInterface
update
in interface ClientReceiverInterface
results
- 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.