Skip to content
Snippets Groups Projects
Commit c2d61af1 authored by NGUYEN Do Duc Anh's avatar NGUYEN Do Duc Anh
Browse files

consider other set not contain any Proposer

parent 09e99fda
Branches
No related tags found
No related merge requests found
......@@ -184,6 +184,8 @@ def apply_rule():
high.append(neighbor)
# elif neighbor.pointer != 0:
else:
# Other set is all neighbors that are not in Proposer
if neighbor.pointer == 0 or (neighbor.color == neighbor.color and neighbor.color_id == neighbor.id):
other.append(neighbor)
is_enable = False
......@@ -301,6 +303,14 @@ def reset_me():
node.pointer = 0
def print_my_info():
print(f"{'MyID:':<10} {node.myid}")
print(f"{'Degree:':<10} {node.degree}")
print(f"{'State:':<10} {'IN VC' if node.state == State.DECIDED_IN_VC else 'NOT in VC'}")
print(f"{'Color:':<10} ({node.color}, {node.color_id})")
print(f"{'Pointer:':<10} {node.pointer}")
def update_neighbor_info():
global map_neighbor, node, client_socket
......@@ -331,16 +341,13 @@ def update_neighbor_info():
is_apply_rule = apply_rule()
if is_apply_rule or is_notify_neighbor:
send_node_info()
print(f"{'MyID:':<10} {node.myid}")
print(f"{'Degree:':<10} {node.degree}")
print(f"{'State:':<10} {'IN VC' if node.state == State.DECIDED_IN_VC else 'NOT in VC'}")
print(f"{'Color:':<10} ({node.color}, {node.color_id})")
print(f"{'Pointer:':<10} {node.pointer}")
for neighbor in map_neighbor.values():
message = struct.pack('!IIIIII', Cmd.SHARE_INFO, node.myid, node.degree, node.color, node.color_id, node.pointer)
send_packet(neighbor.iface, neighbor.mac, message)
print_my_info()
elif apply_rule():
send_node_info()
print("My current state: ", node.state)
......@@ -348,6 +355,8 @@ def update_neighbor_info():
for neighbor in map_neighbor.values():
message = struct.pack('!IIIIII', Cmd.SHARE_INFO, node.myid, node.degree, node.color, node.color_id, node.pointer)
send_packet(neighbor.iface, neighbor.mac, message)
print_my_info()
time.sleep(1)
except RuntimeError as e:
print(f"Caught an error: {e}")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment