From cd696da4c50a150f1d01fec27eef5a043b57b95a Mon Sep 17 00:00:00 2001 From: Dante Niewenhuis Date: Fri, 3 Oct 2025 13:53:18 +0200 Subject: Removed a bug in MaxMinFlowDistributor. (#376) * Small update to the FLowDistributor --- .../distributionPolicies/MaxMinFairnessFlowDistributor.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'opendc-simulator/opendc-simulator-flow/src') diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/graph/distributionPolicies/MaxMinFairnessFlowDistributor.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/graph/distributionPolicies/MaxMinFairnessFlowDistributor.java index 875412c6..e5e4eb59 100644 --- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/graph/distributionPolicies/MaxMinFairnessFlowDistributor.java +++ b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/graph/distributionPolicies/MaxMinFairnessFlowDistributor.java @@ -43,13 +43,19 @@ public class MaxMinFairnessFlowDistributor extends FlowDistributor { } protected void updateOutgoingDemand() { + if (this.totalIncomingDemand == this.previousTotalDemand) { + this.outgoingDemandUpdateNeeded = false; + this.updateOutgoingSupplies(); + return; + } + + this.previousTotalDemand = this.totalIncomingDemand; + for (FlowEdge supplierEdge : this.supplierEdges.values()) { this.pushOutgoingDemand(supplierEdge, this.totalIncomingDemand / this.supplierEdges.size()); } this.outgoingDemandUpdateNeeded = false; - - this.invalidate(); } // TODO: This should probably be moved to the distribution strategy -- cgit v1.2.3