From b5368b4e43a737fbdebb7002dc7fd4291888c312 Mon Sep 17 00:00:00 2001 From: Csaba Kiraly Date: Tue, 28 Feb 2023 12:24:37 +0100 Subject: [PATCH] factorize restore Signed-off-by: Csaba Kiraly --- DAS/validator.py | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/DAS/validator.py b/DAS/validator.py index 89930f6..2e1b737 100644 --- a/DAS/validator.py +++ b/DAS/validator.py @@ -437,29 +437,35 @@ class Validator: """It restores the rows assigned to the validator, that can be repaired.""" if self.repairOnTheFly: for id in self.rowIDs: - rep = self.block.repairRow(id) - if (rep.any()): - # If operation is based on send queues, segments should - # be queued after successful repair. - for i in range(len(rep)): - if rep[i]: - self.logger.debug("Rep: %d,%d", id, i, extra=self.format) - self.addToSendQueue(id, i) - # self.statsRepairInSlot += rep.count(1) + self.restoreRow(id) + + def restoreRow(self, id): + rep = self.block.repairRow(id) + if (rep.any()): + # If operation is based on send queues, segments should + # be queued after successful repair. + for i in range(len(rep)): + if rep[i]: + self.logger.debug("Rep: %d,%d", id, i, extra=self.format) + self.addToSendQueue(id, i) + # self.statsRepairInSlot += rep.count(1) def restoreColumns(self): """It restores the columns assigned to the validator, that can be repaired.""" if self.repairOnTheFly: for id in self.columnIDs: - rep = self.block.repairColumn(id) - if (rep.any()): - # If operation is based on send queues, segments should - # be queued after successful repair. - for i in range(len(rep)): - if rep[i]: - self.logger.debug("Rep: %d,%d", i, id, extra=self.format) - self.addToSendQueue(i, id) - # self.statsRepairInSlot += rep.count(1) + self.restoreColumn(id) + + def restoreColumn(self, id): + rep = self.block.repairColumn(id) + if (rep.any()): + # If operation is based on send queues, segments should + # be queued after successful repair. + for i in range(len(rep)): + if rep[i]: + self.logger.debug("Rep: %d,%d", i, id, extra=self.format) + self.addToSendQueue(i, id) + # self.statsRepairInSlot += rep.count(1) def checkStatus(self): """It checks how many expected/arrived samples are for each assigned row/column."""