From 7ac290da14d78e8dda201a5f4b6b38816cdf0cdd Mon Sep 17 00:00:00 2001 From: Nelson Tavares de Sousa <ntd@informatik.uni-kiel.de> Date: Fri, 7 Nov 2014 14:01:31 +0100 Subject: [PATCH] Set clock stage terminationstrategy --- .../teetime/framework/AnalysisConfiguration.java | 14 ++++++++------ src/main/java/teetime/stage/Clock.java | 6 ++++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/java/teetime/framework/AnalysisConfiguration.java b/src/main/java/teetime/framework/AnalysisConfiguration.java index 67eb52d9..43441012 100644 --- a/src/main/java/teetime/framework/AnalysisConfiguration.java +++ b/src/main/java/teetime/framework/AnalysisConfiguration.java @@ -1,7 +1,9 @@ package teetime.framework; +import java.util.HashSet; import java.util.LinkedList; import java.util.List; +import java.util.Set; import teetime.framework.pipe.PipeFactoryRegistry; @@ -11,19 +13,19 @@ public class AnalysisConfiguration { private final List<Runnable> threadableStageJobs = new LinkedList<Runnable>(); - private final List<Stage> consumerStages = new LinkedList<Stage>(); - private final List<Stage> finiteProducerStages = new LinkedList<Stage>(); - private final List<Stage> infiniteProducerStages = new LinkedList<Stage>(); + private final Set<Stage> consumerStages = new HashSet<Stage>(); + private final Set<Stage> finiteProducerStages = new HashSet<Stage>(); + private final Set<Stage> infiniteProducerStages = new HashSet<Stage>(); - public List<Stage> getConsumerStages() { + public Set<Stage> getConsumerStages() { return this.consumerStages; } - public List<Stage> getFiniteProducerStages() { + public Set<Stage> getFiniteProducerStages() { return this.finiteProducerStages; } - public List<Stage> getInfiniteProducerStages() { + public Set<Stage> getInfiniteProducerStages() { return this.infiniteProducerStages; } diff --git a/src/main/java/teetime/stage/Clock.java b/src/main/java/teetime/stage/Clock.java index e9439886..5cf53750 100644 --- a/src/main/java/teetime/stage/Clock.java +++ b/src/main/java/teetime/stage/Clock.java @@ -1,6 +1,7 @@ package teetime.stage; import teetime.framework.ProducerStage; +import teetime.framework.TerminationStrategy; public class Clock extends ProducerStage<Long> { @@ -9,6 +10,11 @@ public class Clock extends ProducerStage<Long> { private long initialDelayInMs; private long intervalDelayInMs; + @Override + public TerminationStrategy getTerminationStrategy() { + return TerminationStrategy.BY_INTERRUPT; + } + @Override protected void execute() { if (!this.initialDelayExceeded) { -- GitLab