def initServer(): ip, port = getIP(), sys.argv[1] print('Starting server at %s:%s...' % (ip, port)) servers, id = getServersAndID(ip, port) # print(ip, port, id) handler = KVStoreHandler(id, ip, port, servers) processor = KVStore.Processor(handler) transport = TSocket.TServerSocket(port=int(sys.argv[1])) tfactory = TTransport.TBufferedTransportFactory() pfactory = TBinaryProtocol.TBinaryProtocolFactory() server = TServer.TSimpleServer(processor, transport, tfactory, pfactory) return server
return Result(value, ErrorCode.kSuccess, None) def kvdelete(self, key): try: value = self.kv_dict[key] del self.kv_dict[key] except KeyError: return Result(None, ErrorCode.kKeyNotFound, "Key: " + key + ", Not present in store") except Exception as e: return Result(None, ErrorCode.kError, e.message) print("Entry Deleted - Key: {0}".format(key)) return Result(value, ErrorCode.kSuccess, None) if __name__ == "__main__": try: handler = kvserver() processor = KVStore.Processor(handler) transport = TSocket.TServerSocket(port=9090) tfactory = TTransport.TBufferedTransportFactory() pfactory = TBinaryProtocol.TBinaryProtocolFactory() server = TServer.TThreadedServer(processor, transport, tfactory, pfactory) print("Starting Server: %s" % host) server.serve() print("Done.") except Exception as err: print("Error: %s" % str(err))