def askForPromise(i): global ports, linkSuc, socks global promiseCond, promiseCount global procNo if linkSuc[i - 1] == False: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_address = ("localhost", ports[i]) try: sock.connect(server_address) except Exceptiont: print("Connection failed for server " + str(i)) return False # Send procNo ini = paxos_pb2.Init() ini.src = procNo helpSend(sock, ini) socks[i] = sock linkSuc[i - 1] = True threading.Thread(target=recvAndSet, args=( sock, i, )).start() sendPrepare(socks[i], i)
def lisAndAcc(sock): global socks, ports while True: soc, addr = sock.accept() print("Accepted link") le = safeRec(soc, 2) le = unpack(">H", le)[0] ini = safeRec(soc, le) sr = paxos_pb2.Init() sr.ParseFromString(ini) srcc = sr.src socks[srcc] = soc linkSuc[srcc - 1] = True threading.Thread(target=recvAndSet, args=( soc, srcc, )).start()