Skip to content
Snippets Groups Projects
Commit d5e72d01 authored by Katharina's avatar Katharina
Browse files

fix leader pls

parent 7d3e0f1b
No related branches found
No related tags found
No related merge requests found
...@@ -82,26 +82,25 @@ def start_election(queue, shared_data): ...@@ -82,26 +82,25 @@ def start_election(queue, shared_data):
while time.time() < timeout: while time.time() < timeout:
try: try:
message = queue.get(timeout=1) #waits 1 sec for a message 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] sender_uuid = message.split(": ")[1]
active_servers[sender_uuid] = time.time() active_servers[sender_uuid] = time.time()
print(f"Received UUID for election: {sender_uuid}") print(f"Received UUID for election: {sender_uuid}")
################dumblogic###onlyworkswith2servers################################ ################dumblogic###onlyworkswith2servers################################
if shared_data['server_id']==sender_uuid: if sender_uuid > highest_id:
continue
else:
if sender_uuid > highest_id:
highest_id = sender_uuid highest_id = sender_uuid
print(f"Received higher ID {sender_uuid}, forwarding...") print(f"Received higher ID {sender_uuid}, forwarding...")
broadcast(f"START_ELECTION: {sender_uuid}") broadcast(f"START_ELECTION: {sender_uuid}")
elif sender_uuid == highest_id: elif sender_uuid == highest_id:
shared_data['current_leader'] = sender_uuid shared_data['current_leader'] = sender_uuid
print(f"(sender) Leader elected: {shared_data['current_leader']}") print(f"(sender) Leader elected: {shared_data['current_leader']}")
broadcast(f"LEADER: {shared_data['current_leader']}") broadcast(f"LEADER: {shared_data['current_leader']}")
else: else:
shared_data['current_leader'] = shared_data['server_id'] shared_data['current_leader'] = shared_data['server_id']
print(f"(official, its me) Leader elected: {shared_data['current_leader']}") print(f"(official, its me) Leader elected: {shared_data['current_leader']}")
broadcast(f"LEADER: {shared_data['current_leader']}") broadcast(f"LEADER: {shared_data['current_leader']}")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment