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; }