From 71394768ccf66184e63d9fddb461408140fd4f13 Mon Sep 17 00:00:00 2001 From: Csaba Kiraly Date: Fri, 1 Mar 2024 15:30:38 +0100 Subject: [PATCH] add forwardOnRepair If not forwarding on receive, nodes can forward when a whole line is available. Signed-off-by: Csaba Kiraly --- DAS/validator.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/DAS/validator.py b/DAS/validator.py index f7cb014..f61f8d4 100644 --- a/DAS/validator.py +++ b/DAS/validator.py @@ -112,6 +112,7 @@ class Validator: self.segmentShuffleScheduler = True # send each segment that's worth sending once in shuffled order, then repeat self.segmentShuffleSchedulerPersist = True # Persist scheduler state between timesteps self.forwardOnReceive = True # forward segments as soon as received + self.forwardOnRepair = False # forward all segments when full line available (repaired segments are always forwarded) def logIDs(self): """It logs the assigned rows and columns.""" @@ -496,7 +497,7 @@ class Validator: # If operation is based on send queues, segments should # be queued after successful repair. for i in range(len(rep)): - if rep[i]: + if rep[i] or self.forwardOnRepair: self.logger.trace("Rep: %d,%d", id, i, extra=self.format) self.addToSendQueue(id, i) # self.statsRepairInSlot += rep.count(1) @@ -514,7 +515,7 @@ class Validator: # If operation is based on send queues, segments should # be queued after successful repair. for i in range(len(rep)): - if rep[i]: + if rep[i] or self.forwardOnRepair: self.logger.trace("Rep: %d,%d", i, id, extra=self.format) self.addToSendQueue(i, id) # self.statsRepairInSlot += rep.count(1)