Esempio n. 1
0
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))