Skip to content

Commit

Permalink
Fixed bugs (#304)
Browse files Browse the repository at this point in the history
  • Loading branch information
DanteNiewenhuis authored Feb 17, 2025
1 parent 20d8587 commit e9080b6
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,10 @@ public long onUpdate(long now) {
long remainingDuration = this.scalingPolicy.getRemainingDuration(
this.cpuFreqDemand, this.newCpuFreqSupplied, this.remainingWork);

if (remainingDuration == 0.0) {
this.remainingWork = 0.0;
}

return now + remainingDuration;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ public class FlowDistributor extends FlowNode implements FlowSupplier, FlowConsu
private double currentIncomingSupply; // The current supply provided by the supplier

private boolean outgoingDemandUpdateNeeded = false;
private final Set<Integer> updatedDemands =
new HashSet<>(); // Array of consumers that updated their demand in this cycle
private Set<Integer> updatedDemands = new HashSet<>(); // Array of consumers that updated their demand in this cycle

private boolean overloaded = false;

Expand Down Expand Up @@ -209,14 +208,18 @@ public void removeConsumerEdge(FlowEdge consumerEdge) {
other.setConsumerIndex(other.getConsumerIndex() - 1);
}

for (int idx_other : this.updatedDemands) {
HashSet newUpdatedDemands = new HashSet<>();

for (int idx_other : this.updatedDemands) {
if (idx_other > idx) {
this.updatedDemands.remove(idx_other);
this.updatedDemands.add(idx_other - 1);
newUpdatedDemands.add(idx_other - 1);
} else {
newUpdatedDemands.add(idx_other);
}
}

this.updatedDemands = newUpdatedDemands;

this.outgoingDemandUpdateNeeded = true;
this.invalidate();
}
Expand Down

0 comments on commit e9080b6

Please sign in to comment.