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