self.K = int(lines.pop(0)) self.digits = util.getdigits(self.N, self.K) self.P = util.numpartitions(self.digits) #if debug: print("Frontend connected: N=" + str(self.N) + ", K=" + str(self.K)) for line in lines: if len(line) > 0: node, index = line.split(",") index = int(index) self.nodes[index] = node #if debug: print("Nodes: " + str(self.nodes)) peer = peerutil.getpeer("frontend", frontend) try: server = httputil.createserver(peer.port(), util.merge({ "get" : get, "set" : set, }, peer.gethandlers() ) ) except socket.error: print("Could not bind on port: " + str(peer.port())) else: print("Frontend node serving on port: " + str(peer.port())) peer.addself()
value = request.postdata if value == None: value = request.args.get("value") if value == None: return 501, "No value provided" newentry = entry(key, value, float(t)) oldentry = data.get("key") if oldentry == None or oldentry < newentry: if oldentry != None: print(oldentry + " is older than " + newentry) data[key] = newentry return 200, "Ok\n" peer = peerutil.getpeer("node") try: server = httputil.createserver(peer.port(), { "get" : get, "set" : set, } ) except socket.error: print("Could not bind on port: " + str(peer.port())) else: print("Storage node serving on port: " + str(peer.port())) peer.addself() server.serve_forever()