Verteiltesystheme/Code/Communication/Neighbours.py

23 lines
637 B
Python

from Code.Communication.Direction import Direction
from Code.Communication.Member import Member
class Neighbours:
def __init__(self, own_process: Member):
self.neighbours = {}
self.own_process = own_process
def connect(self, direction, ip, port):
print(f"connecting to {ip}:{port} on {direction} side")
pass
def acceptConnection(self, direction: Direction, ip, port) -> tuple[Member, bool]:
if direction in self.neighbours:
return (self.neighbours[direction],False)
member = Member(ip, port)
print(f"Adding neighbour {member.__repr__()}")
self.neighbours[direction] = member
return (self.own_process,True)