From cae1f1784693b8af00e4e77ba951172bd26c3c46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Wisniewski?= <gregory@nexedi.com> Date: Thu, 1 Apr 2010 14:09:58 +0000 Subject: [PATCH] Use methods and properties of PartitionTable. Remove admin's app.ptid attribute, use pt.load() and pt.update() instead of copy/paste the code. git-svn-id: https://svn.erp5.org/repos/neo/trunk@1991 71dcc9de-d417-0410-9af5-da40c76e7ee4 --- neo/admin/app.py | 3 +-- neo/admin/handler.py | 25 ++++--------------------- 2 files changed, 5 insertions(+), 23 deletions(-) diff --git a/neo/admin/app.py b/neo/admin/app.py index 676c8aca..86ebc5ac 100644 --- a/neo/admin/app.py +++ b/neo/admin/app.py @@ -69,7 +69,6 @@ class Application(object): self.pt = None self.uuid = config.getUUID() self.primary_master_node = None - self.ptid = None self.request_handler = MasterRequestEventHandler(self) self.master_event_handler = MasterEventHandler(self) self.dispatcher = Dispatcher() @@ -162,5 +161,5 @@ class Application(object): p = Errors.ProtocolError('invalid partition table offset') conn.notify(p) return - p = Packets.AnswerPartitionList(self.ptid, row_list) + p = Packets.AnswerPartitionList(self.pt.getID(), row_list) conn.answer(p) diff --git a/neo/admin/handler.py b/neo/admin/handler.py index c201961b..d7e2a9be 100644 --- a/neo/admin/handler.py +++ b/neo/admin/handler.py @@ -152,29 +152,12 @@ class MasterEventHandler(EventHandler): logging.debug("answerPartitionTable") def notifyPartitionChanges(self, conn, ptid, cell_list): - app = self.app - if ptid < app.ptid: - # Ignore this packet. - return - app.ptid = ptid - app.pt.update(ptid, cell_list, app.nm) + self.app.pt.update(ptid, cell_list, self.app.nm) def sendPartitionTable(self, conn, ptid, row_list): - uuid = conn.getUUID() - app = self.app - nm = app.nm - pt = app.pt - node = app.nm.getByUUID(uuid) - if app.ptid != ptid: - app.ptid = ptid - pt.clear() - for offset, row in row_list: - for uuid, state in row: - node = nm.getByUUID(uuid) - if node is None: - node = nm.createStorage(uuid=uuid) - pt.setCell(offset, node, state) - pt.log() + self.app.pt.clear() + self.app.pt.load(ptid, row_list, self.app.nm) + self.app.pt.log() def notifyClusterInformation(self, conn, cluster_state): self.app.cluster_state = cluster_state -- 2.30.9