From 0c50656f138dccc47f7ff6d44f3c0f48d86bd2b1 Mon Sep 17 00:00:00 2001 From: Michal Date: Thu, 13 Feb 2025 20:34:58 +0100 Subject: [PATCH] =?UTF-8?q?vno=C5=99en=C3=AD=20mapObject=20zpet=20do=20map?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + src/jnet/lib/Message.java | 8 +++-- src/jnet/lib/object/Map.java | 43 ++++++++++++++++++++++----- src/jnet/lib/object/ServerConfig.java | 12 +++++++- 4 files changed, 52 insertions(+), 12 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bf0824e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.log \ No newline at end of file diff --git a/src/jnet/lib/Message.java b/src/jnet/lib/Message.java index 7f93654..96d2f7b 100644 --- a/src/jnet/lib/Message.java +++ b/src/jnet/lib/Message.java @@ -50,10 +50,12 @@ public class Message implements Serializable { // C->S: klient odesila upravu serveru public static final int SERVER_CONFIG = 13; - //S->C: server odesila seznam objektu - public static final int OBJECT_LIST = 14; - + // C->S: klient posila požadavek na restart serveru + public static final int RESTART = 15; + // C->S: klient se dotazuje na uptime server + // S->C: server odesila uptim serveru + public static final int UPTIME = 16; diff --git a/src/jnet/lib/object/Map.java b/src/jnet/lib/object/Map.java index 95f96ba..c1be93c 100644 --- a/src/jnet/lib/object/Map.java +++ b/src/jnet/lib/object/Map.java @@ -4,23 +4,21 @@ import jnet.lib.Status; import java.io.Serializable; import java.util.ArrayList; -/** - * - * @author cucky - */ public class Map implements Serializable { private int id; private String name; private boolean lock; - //private ArrayList objects; + private ArrayList objects; private int status; - public Map(int id, String name, boolean lock) { + public Map(int id, String name, boolean lock, ArrayList objects) { this.id = id; this.name = name; this.lock = lock; this.status = Status.NA; + this.objects = objects; + } public Map(String name) { @@ -28,8 +26,6 @@ public class Map implements Serializable { this.lock = false; this.status = Status.NA; } - - public int getId() { return id; @@ -55,5 +51,36 @@ public class Map implements Serializable { this.lock = lock; } + public ArrayList getObjects() { + return objects; + } + + public void setObjects(ArrayList objects) { + this.objects = objects; + } + + public int getStatus() { + if (getObjects().isEmpty()) { + return Status.NA; + } + + int status = Status.OK; + + for (MapObject object : getObjects()) { + int objectStatus = object.getStatus(); + + if (objectStatus == Status.OFFLINE) { + return Status.OFFLINE; // Okamžitě vrátíme OFFLINE + } else if (objectStatus == Status.WARNING) { + status = Status.WARNING; // Možný downgrade na WARNING + } + } + + return status; + } + + public void setStatus(int status) { + this.status = status; + } } diff --git a/src/jnet/lib/object/ServerConfig.java b/src/jnet/lib/object/ServerConfig.java index cbd7e26..99a9fae 100644 --- a/src/jnet/lib/object/ServerConfig.java +++ b/src/jnet/lib/object/ServerConfig.java @@ -4,18 +4,28 @@ import java.io.Serializable; public class ServerConfig implements Serializable { + private int pingRepeat; private int pingAttempt; private int pingTimeout; private int instabilityAttempt; private int instabilityLimit; - public ServerConfig(int pingAttempt, int pingTimeout, int instabilityAttempt, int instabilityLimit) { + public ServerConfig(int pingRepeat, int pingAttempt, int pingTimeout, int instabilityAttempt, int instabilityLimit) { + this.pingRepeat = pingRepeat; this.pingAttempt = pingAttempt; this.pingTimeout = pingTimeout; this.instabilityAttempt = instabilityAttempt; this.instabilityLimit = instabilityLimit; } + public int getPingRepeat() { + return pingRepeat; + } + + public void setPingRepeat(int pingRepeat) { + this.pingRepeat = pingRepeat; + } + public int getPingAttempt() { return pingAttempt; }