Kompletter Neuschrieb des ImageDownloader Codes.
Es wird jetzt nicht mehr ein Thread je Download gestartet, sondern alle Tile Requests in eine Queue geschrieben, die dann in einem extra Thread bearbeitet wird. Wurden die angefragten Tiles nicht direkt im Cache gefunden, wird ein neuer Job für diese Tiles erstellt und an die entsprechende Sub-Klasse des TileRequestWorkers übergeben:
ClientTileRequestWorker: Läuft auf dem ParaView Client. (i.e. die ParaView Instanz, die im Standalone Modus gestartet wird und später evtl die ParaView Instanzen der Powerwall ansteuert)
Fügt alle unvollständigen Jobs erneut in eine Queue, die dann in einem extra Thread nach und nach abgearbeitet wird. Dabei werden jeweils Downloads für die entsprechenden Tiles gestartet.
ServerTileRequestWorker: Läuft auf dem ParaView Server. (i.e. die ParaView Instanzen auf den Powerwall Servern)
Fügt alle unvollständigen Jobs in eine Liste ein, ein Thread durchläuft diese Liste dann regelmäßig und prüft, ob die Tiles im Dateisystem vorhanden sind. Wenn ja, wird das Tile geladen, ansonsten wird der Job wieder in die Liste eingefügt.
Der Globe garantiert dabei, dass für alle von der Powerall sichtbaren Tiles Downloads gestartet werden.
HINWEIS:
Um die TileDownloader Tests erfolgreich durchlaufen zu lassen, wird node.js benötigt. Die Tests starten einen einfachen Webserver, der auf Anfrage einfach gespeicherte Bilder/Heightmaps zurückgibt und für alle Tiles einen zusätzlichen Endpunkt bereitstellt, der die Bilder mit 10s Verzögerung ausliefert, was benötigt wird, um den Download-Abbruch zu testen.
Kompletter Neuschrieb des
ImageDownloader
Codes. Es wird jetzt nicht mehr ein Thread je Download gestartet, sondern alle Tile Requests in eine Queue geschrieben, die dann in einem extra Thread bearbeitet wird. Wurden die angefragten Tiles nicht direkt im Cache gefunden, wird ein neuer Job für diese Tiles erstellt und an die entsprechende Sub-Klasse desTileRequestWorker
s übergeben:ClientTileRequestWorker
: Läuft auf dem ParaView Client. (i.e. die ParaView Instanz, die im Standalone Modus gestartet wird und später evtl die ParaView Instanzen der Powerwall ansteuert) Fügt alle unvollständigen Jobs erneut in eine Queue, die dann in einem extra Thread nach und nach abgearbeitet wird. Dabei werden jeweils Downloads für die entsprechenden Tiles gestartet.ServerTileRequestWorker
: Läuft auf dem ParaView Server. (i.e. die ParaView Instanzen auf den Powerwall Servern) Fügt alle unvollständigen Jobs in eine Liste ein, ein Thread durchläuft diese Liste dann regelmäßig und prüft, ob die Tiles im Dateisystem vorhanden sind. Wenn ja, wird das Tile geladen, ansonsten wird der Job wieder in die Liste eingefügt.Der
Globe
garantiert dabei, dass für alle von der Powerall sichtbaren Tiles Downloads gestartet werden.HINWEIS: Um die
TileDownloader
Tests erfolgreich durchlaufen zu lassen, wirdnode.js
benötigt. Die Tests starten einen einfachen Webserver, der auf Anfrage einfach gespeicherte Bilder/Heightmaps zurückgibt und für alle Tiles einen zusätzlichen Endpunkt bereitstellt, der die Bilder mit 10s Verzögerung ausliefert, was benötigt wird, um den Download-Abbruch zu testen.