|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.kex.kexdav.dataexchange.DataTransferPolicy
public abstract class DataTransferPolicy
Eine abstrakte Klasse, die das Verfahren angibt, mit der Daten zwischen 2 Datenverteilern ausgetauscht werden. Diese Klasse ist nicht für die Kopie des
Data-Objektes zuständig, darum kümmert sich das KExDaVDataPlugin
, mit ihr könnte man stattdessen z.B. verhindern, dass
leere Daten übertragen werden oder eine Art Rechteprüfung implementieren. Derzeit wird diese Klasse benutzt, um bei beidseitigen
Parameter-Daten-Übertragungen festzustellen, wenn beide Seiten annährend gleichzeitig Parameter senden. Dann wird das lokale System priorisiert und ein
unendlichen hin und her-wechseln der Daten verhindert. Siehe dazu ParameterDataTransferPolicy
. Außerdem werden die beiden Datenverteilersysteme über
den Threadpool entkoppelt, sodass z.B. ein hängenbleiben im sendData() die Empfangsqueue des anderen Datenverteilers nicht blockiert.
Constructor Summary | |
---|---|
DataTransferPolicy(LowLevelDataPipe lowLevelDataPipe)
Konstruktor |
Method Summary | |
---|---|
protected abstract void |
handleData(de.bsvrz.kex.kexdav.dataexchange.DataTransferPolicy.DataPackage dataPackage)
Template-Methode, die die Daten weiterverarbeiten soll |
void |
handleData(KExDaVAttributeGroupData sourceData,
DataState dataState,
long dataTime)
Wird aufgerufen, wenn Daten eintreffen |
protected void |
sendData(de.bsvrz.kex.kexdav.dataexchange.DataTransferPolicy.DataPackage dataPackage)
Sendet die Daten an das Zielsystem |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DataTransferPolicy(LowLevelDataPipe lowLevelDataPipe)
lowLevelDataPipe
- Zugehöriger Datenkanal, in den die Daten eingespeist werden sollenMethod Detail |
---|
public final void handleData(KExDaVAttributeGroupData sourceData, DataState dataState, long dataTime)
sourceData
- Daten (können null sein)dataState
- Daten-ZustanddataTime
- Daten-Zeitprotected abstract void handleData(de.bsvrz.kex.kexdav.dataexchange.DataTransferPolicy.DataPackage dataPackage)
dataPackage
- Datenpaketprotected final void sendData(de.bsvrz.kex.kexdav.dataexchange.DataTransferPolicy.DataPackage dataPackage)
dataPackage
- Datenpaket
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |