private static final class SubscriptionArchiveOnlineDataManager.ArchiveDataRequester
extends java.lang.Object
implements java.lang.Runnable
Klasse, die Archivdaten anfordert und diese vor einen Onlinedatensatz einmischt
Modifier and Type | Field and Description |
---|---|
private ArchiveRequestManager |
_archive
Archivsystem, an das die Anfrage gestellt werden soll
|
private boolean |
_archiveDataSend
Wurden schon einmal Archivdaten verschickt.
|
private boolean |
_cancel
true = der Thread stellt seine Arbeit ein und meldet sich beim Archiv ab.
|
private DataDescription |
_dataDescription
Wird für die Archivanfrage gebraucht
|
private ResultData |
_firstOnlineDataSet
Erster Onlinedatensatz, dieser Datensatz dient als Endzeitpunkt für die Archivanfrage
|
private long |
_history
Zeitbereich oder Index, der aus dem aus Archivsystem angefordert werden soll.
|
private HistoryTypeParameter |
_historyType
Bezieht sich der Wert in der Variablen _history auf einen Zeitbereich oder einen Datenindex.
|
private ArchiveData |
_lastReceivedDataSet
Speichert den letzten Datensatz einer Archivanfrage.
|
private ReceiveOptions |
_receiveOptions
Wird benötigt um zu entscheiden ob die Archidaten delta oder normal sein sollen
|
private SubscriptionArchiveOnlineDataManager.Receiver |
_receiver
Enthält alle Daten und Methoden, die der Thread braucht um Archivdaten anzufodern und diese vor die aktuellen Daten zu mischen
|
private SystemObject |
_systemObject
Wird für die Archivanfrage gebraucht
|
Constructor and Description |
---|
ArchiveDataRequester(SubscriptionArchiveOnlineDataManager.Receiver receiver,
ArchiveRequestManager archive,
SystemObject systemObject,
DataDescription dataDescription,
ReceiveOptions receiveOptions,
HistoryTypeParameter historyType,
long history) |
Modifier and Type | Method and Description |
---|---|
void |
cancelThread()
Wird aufgerufen, wenn der Thread gestoppt werden soll, weil die Archivdaten nicht mehr gebraucht werden
|
void |
run() |
private final SubscriptionArchiveOnlineDataManager.Receiver _receiver
Enthält alle Daten und Methoden, die der Thread braucht um Archivdaten anzufodern und diese vor die aktuellen Daten zu mischen
private ResultData _firstOnlineDataSet
Erster Onlinedatensatz, dieser Datensatz dient als Endzeitpunkt für die Archivanfrage
private ArchiveData _lastReceivedDataSet
Speichert den letzten Datensatz einer Archivanfrage. Dieser wird benötigt, wenn bei einer Archivanfrage nicht alle benötigten Werte übertragen wurden. Es fehlen zum Beispiel die letzten drei Datensätze, weil diese gerade archiviert werden und das Archivsystem sie deshalb nicht mitgeschickt hat. Um an alle Daten zu kommen, würde erneut angefragt werden, ein paar Archivdatensätze dieser Anfrage könnte aber verworfen werden, weil sie bereits in der ersten Anfrage vorhanden waren. Damit diese Datensätze erkannt werden können, wird der letzte Datensatz gespeichert.
private final HistoryTypeParameter _historyType
Bezieht sich der Wert in der Variablen _history auf einen Zeitbereich oder einen Datenindex.
private long _history
Zeitbereich oder Index, der aus dem aus Archivsystem angefordert werden soll. Diese Variable wird im laufe der Archivanfrage angepaßt. Wenn 10 Archivdaten benötigt werden, aber es werden nur 5 empfangen, müssen in der nächsten Archivanfrage nur noch 5 Archivdaten angefordert werden. Das selbe passiert mit einer Anfrage, die sich auf Zeit bezieht, wenn 4 Stunden benötigt werden, es werden aber nur 3 geliefert, wird die nächste Archivanfrage auf 1 Stunde relativ gestellt.
private final ReceiveOptions _receiveOptions
Wird benötigt um zu entscheiden ob die Archidaten delta oder normal sein sollen
private final SystemObject _systemObject
Wird für die Archivanfrage gebraucht
private final DataDescription _dataDescription
Wird für die Archivanfrage gebraucht
private final ArchiveRequestManager _archive
Archivsystem, an das die Anfrage gestellt werden soll
private boolean _archiveDataSend
Wurden schon einmal Archivdaten verschickt. Wird nur EOA vom Archiv empfangen und es wurden schon einmal Archivdaten verschickt, dann wird auf Daten gewartet. Wird hingegen EOA empfangen und es wurden noch nie Archivdaten verschickt, hat das Archiv keine Daten für diese Datenidentifikation.
private boolean _cancel
true = der Thread stellt seine Arbeit ein und meldet sich beim Archiv ab.
public ArchiveDataRequester(SubscriptionArchiveOnlineDataManager.Receiver receiver, ArchiveRequestManager archive, SystemObject systemObject, DataDescription dataDescription, ReceiveOptions receiveOptions, HistoryTypeParameter historyType, long history)