summaryrefslogtreecommitdiff
path: root/opendc-simulator/opendc-simulator-compute/src
diff options
context:
space:
mode:
authorDante Niewenhuis <d.niewenhuis@hotmail.com>2024-12-17 11:14:13 +0100
committerGitHub <noreply@github.com>2024-12-17 11:14:13 +0100
commitc425a03c59e7d5c2e5d82988c61e340a6cbf61fe (patch)
tree463126dbd4289a32149133db6d0cb350feacfbaf /opendc-simulator/opendc-simulator-compute/src
parentf55aaed2d41388712ec0cc90055831dae5d57896 (diff)
Updated the FlowEngine so nodes that have to be updated in the current cycle cannot be scheduled twice. (#284)
Updated the FlowNodeQueue
Diffstat (limited to 'opendc-simulator/opendc-simulator-compute/src')
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java4
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java4
2 files changed, 8 insertions, 0 deletions
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java
index 75bdde92..b612de2c 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java
@@ -270,6 +270,10 @@ final class SimChainWorkload extends SimWorkload implements FlowSupplier {
*/
@Override
public void removeSupplierEdge(FlowEdge supplierEdge) {
+ if (this.machineEdge == null) {
+ return;
+ }
+
this.stopWorkload();
}
}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java
index fbbe0815..8487fbc2 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java
@@ -139,6 +139,10 @@ public class SimTraceWorkload extends SimWorkload implements FlowConsumer {
@Override
public void stopWorkload() {
+ if (this.machineEdge == null) {
+ return;
+ }
+
this.closeNode();
this.machineEdge = null;