localConfig = configJson[serverI] serverIdList = map(lambda x: x['id'], configJson) val = serverI connectGraph = ConnectGraph(configJson) transactionManager = TransactionManager(localConfig['id']) paxosManager = PaxosManager(configJson, serverI, transactionManager, connectGraph) serverSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) serverSocket.bind((localConfig['local_ip_addr'], int(localConfig['port']))) print "Server {0} listening on port {1}".format(str(localConfig['id']), str(localConfig['port'])) if len(sys.argv) == 4: # load paxosManager from last saved paxosManager.initializeFromJSON(json.load(open(sys.argv[3]))) if len(transactionManager.getQueue()) > 0: # if there was a transaction before the crash, start the save attempt thread paxosManager.attempt_save_timeout_refresh() def listenRequests(): while True: data, addr = serverSocket.recvfrom(1024) msg = json.loads(data) threading.Thread(target=paxosManager.process_recv_msg, args=(msg,)).start() t = threading.Thread(target=listenRequests) t.daemon = True t.start() while True: cmd = raw_input("") if 'moneyTransfer' in cmd: