checkMess() nimmt über den JudgeConnect eingegangene Nachricht entgegen und
sorgt für die Weiterverarbeitung derselben.
Der Rückgabewert ist true, wenn der JudgeConnect weiter arbeiten soll.
checkMess() nimmt über einen UIConnect eingegangene Nachricht entgegen und
sorgt für die Weiterverarbeitung derselben.
Der Rückgabewert ist true, wenn die UIConnect weiter arbeiten soll.
Diese Klasse wird von JudgeConnect und UIConnect erweitert.
Sie enthält die grundlegenden Funktionnen für den Nachrichtenaustausch zwischen Judge und den UIs.
Diese Exception wird von DiplConnect (und Unterklassen JudgeConnect & UIConnect) ausgelöst,
wenn ein Fehler in der Verbindung zur Gegenstelle aufgetreten ist.
DiplConnectException führt i.d.R. immer zum Abbruch der Verbindung.
Diese Klasse kapselt Objekte,
die unter Angabe Ihrer ID innerhalb eines Judge-Systems eindeutig zugeordnet und
somit über den Nachrichten-Stream mit Hilfe dieser ID versendet werden können.
getStoredMess() liest die während der Offline-Zeit eines Spielers aufgelaufen Nachrichten an den Spieler
aus der Message-Datei aus und gibt diese als Set zurrück.
makeForRW() sorgt für Lese- & Schreibzugriff auf ein Basis-Verzeichnis.
Wenn Lese- & Schreibzugriff auf Verzeichnis baseDir nicht gewährleistet werden kann, wird DiplDirException ausgelöst.
Soweit ein Paramter baseDirStr übergeben wird, wird das Verzeichnis versucht in diesem anzulegen.
Ansonsten wird des Home-Verzeichnis des Anwenders, der das Programm gestartet, ausprobiert.
Wenn auch dies scheitert, wird das aktuelle Verzeichnis, von dem aus das Programm gestartet wurde, ausprobiert.
makeForRW() sorgt für Lese- & Schreibzugriff auf das Verzeichnis dir.
Wenn Lese- & Schreibzugriff auf Verzeichnis dir nicht gewährleistet werden kann, wird DiplDirException ausgelöst.
run() wird vom Thread aufgerufen und wartet auf Nachrichten am Eingangs-Stream.
Neu eingegangene Nachrichten werden an checkMess() zur Prüfung übergeben.
save() sichert das Spieler-Objekt in playerFile (ohne. der Wartenden Nachrichten).
Wenn Daten nicht ordnungsgemäß gesichert werden könne, wird DiplNewException aufgeworfen ->
das dazugehörige Spieler-Objekt darf nicht Registriert werden,
bzw. muss aus der Liste der registrierten Spieler entfernt werden,
eventuelle Verbindungen mit Logout-Nachricht des Judges an den Spieler und Warten auf Bestätigung des Spieler beenden.
storeMess() sichert das Spieler-Objekt im waitingMessFile und im backupFile.
Wenn Backup-Daten nicht ordnungsgemäß gesichert werden könne, wird DiplNewException aufgeworfen.