blabla.properties
in den constants Klassen von Phänomen und Sensor implementiert, geben die jeweiligen SensorWorldProperties
zurück, RandomSensorMain
sowie PhenomenonMain
entsprechend umgestellt
BlockingQueue
, die nach außen nur als Queue
gegeben wurde, und somit auch nur die normalen Operationen einer Queue
zuließ. Dadurch griffen CommonConnector
und SpecificConnector
beide ununterbrochen auf die BlockingQueue
zu. Problemlösung: Signaturänderung der Methoden, Rückgabewert: BlockingQeue
, dadurch statt normalen poll jetzt ein poll mit timeout ermöglicht, dabei sind auch kurze Intervalle im Bereich weniger Millisekunden mit geringer Prozessorlast möglich.
hash()
sowie equals()
Methode der SensorProperties haben unter anderem die Position des Sensors verwendet, um gleichheit festzustellen... dadurch kann natürlich das Phänomen in seinem dictionary nicht den sich bewegenden Sensor finden, der eine Anfrage gestellt hat. Problemlösung: hash und equals benutzen nur die id
des Sensors.
Producer
einzeln einstellen, somit kann auch endlich das Problem mit persistenten verallteten Nachrichten gelöst werden (workaround war: ant builds, welche die entsprechenden Ordner leerten). Lösung: Im CommonConnector
sowie in der DictionaryControl
gibt es eine Klassenvariable, wodurch die Art der Speicherung global gesetzt werden kann.
CommSim
registriert, da dann der Sensor gar kein Dictionary
erhält, und als Folge auch keine update, wenn sich dann die communication simulation registriert. Problemlösung: SensorDictionary
wird auch ohne vorhandene CommSim
erstellt, eben dieses Feld ist dann null.
Factory
für messages einführen.
SensorPositionMessage
wird nicht verwendet. bräuchten mal bessere high-level Dokumentation welche Parameter bei Nachrichten optional sind.
Producer
und Destination
AnyLogger
bzw. die any-topics ans laufen bekommen
ConnectorStatusMessage
mit innerer Enumeration
für Status
ConnectorStatusMessage
in PriorityBlockingQueue
, wobei antworten auf anfragen eine höhere Priorität haben, da bei requests auf eine Antwort (mit timeout) gewartet wird; da alles mit timeouts versehen ist, sind blockierende Komponenten unwahrscheinlich; Konnektoren kennen sich nurnoch über 4 Queues.
RegistrationMessage
, die als response gesendet wird
PhenomenonStarter
um einige Optionen erweitert, um komfortabel einen PhenomenonCache
zu erstellen oder zu nutzen
PhenomenonCache
geschrieben mit (de)serilisieren, Auswahl des nächstpassenden 2d Array analog zur phen sim dispersion
getRasterSnapshot
durch Threads ordentlich beschleunigt
RasterCache
ist eingebunden und funktioniert, die Visualisierung ist nun RATTENSCHNELL
BinaryMessage
, die das Versenden von .jpg Dateien zur Visualisierung erlaubt
NullPointerException
zur Laufzeit, da gibt es irgendeinen Fehler
IDictionary