def execute(message): msg=message.decode("utf-8") msg.strip() lista = msg.split() print(lista) command = lista[0].upper() try: if command == "INSERT": Coordinator.insert(int(lista[1]), lista[2]) return "ACK" elif command == "QUERY": return Bucket.query(int(lista[1])) elif command == "REGISTER": bucketNbr = Coordinator.totalBuckets Coordinator.totalBuckets += 1 Bucket.bucketList[bucketNbr]="{0} {1}".format( lista[1], lista[2]) print(Bucket.bucketList) return "{}".format(bucketNbr) elif command == "POPULATE": return "POPULATION "+' '.join("{} {}".format(k,v) for k,v in Bucket.bucketList.items()) elif command == "SPLIT": Coordinator.split() return "ACK" else: return "NOPE" except KeyError: return "key error"
def execute(message): msg=message.decode("utf-8") msg.strip() lista = msg.split() print(lista) command = lista[0].upper() if len(lista) > 1 and command in ("INSERT", "QUERY"): key = int(lista[1]) location = address(key, Bucket.fs) if location != Bucket.bucketNbr: return Bucket.forward(location, msg) try: if command == "INSERT": if len(lista) < 3: return "Invalid Command." else: return Coordinator.insert(int(lista[1]), lista[2]) #return "ACK" elif command == "QUERY": if len(lista) < 2: return "Invalid Command." else: return Bucket.query(int(lista[1])) elif command == "REGISTER": bucketNbr = Coordinator.totalBuckets Coordinator.totalBuckets += 1 Bucket.bucketList[bucketNbr] = "{0} {1}".format(lista[1], lista[2]) print(Bucket.bucketList) return "{}".format(bucketNbr) elif command == "POPULATE": return "POPULATION "+' '.join("{} {}".format(k,v) for k,v in Bucket.bucketList.items()) elif command == "SPLIT": return Coordinator.split() elif command == "SHOW": return Coordinator.show() else: return "NOPE" except KeyError: return "key error"