From d5e72d0154ac244aedccc8e7dbb440e0c8b7e335 Mon Sep 17 00:00:00 2001
From: Katharina <katharina.willig@outlook.com>
Date: Mon, 25 Nov 2024 21:59:57 +0100
Subject: [PATCH] fix leader pls

---
 server.py | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/server.py b/server.py
index c1bc477..9e3afad 100644
--- a/server.py
+++ b/server.py
@@ -82,26 +82,25 @@ def start_election(queue, shared_data):
     while time.time() < timeout:
         try:
             message = queue.get(timeout=1) #waits 1 sec for a message
-            if "START_ELECTION" in message:
+            if shared_data['server_id']==sender_uuid:
+                    continue
+            elif "START_ELECTION" in message:
                 sender_uuid = message.split(": ")[1]
                 active_servers[sender_uuid] = time.time()
                 print(f"Received UUID for election: {sender_uuid}")
 
 ################dumblogic###onlyworkswith2servers################################
-                if shared_data['server_id']==sender_uuid:
-                    continue
-                else:
-                    if sender_uuid > highest_id:
+                if sender_uuid > highest_id:
                         highest_id = sender_uuid
                         print(f"Received higher ID {sender_uuid}, forwarding...")
                         broadcast(f"START_ELECTION: {sender_uuid}")
 
-                    elif sender_uuid == highest_id:
+                elif sender_uuid == highest_id:
                         shared_data['current_leader'] = sender_uuid
                         print(f"(sender) Leader elected: {shared_data['current_leader']}")
                         broadcast(f"LEADER: {shared_data['current_leader']}")
 
-                    else:
+                else:
                         shared_data['current_leader'] = shared_data['server_id']
                         print(f"(official, its me) Leader elected: {shared_data['current_leader']}")
                         broadcast(f"LEADER: {shared_data['current_leader']}")
-- 
GitLab