Details
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/AbstractRouterComponent.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/AbstractRouterComponent.java
index d63b533..160d8f1 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/AbstractRouterComponent.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/AbstractRouterComponent.java
@@ -29,8 +29,7 @@ import br.ufrgs.inf.bdinetr.domain.RouterComponent;
/**
* @author Ingrid Nunes
*/
-public abstract class AbstractRouterComponent extends Observable implements
- RouterComponent {
+public abstract class AbstractRouterComponent extends Observable implements RouterComponent {
protected final Router router;
@@ -38,4 +37,12 @@ public abstract class AbstractRouterComponent extends Observable implements
this.router = router;
}
+ protected synchronized void delay(long sec) {
+ try {
+ Thread.sleep(sec * 1000);
+ } catch (InterruptedException e) {
+ // TODO: handle exception
+ }
+ }
+
}
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyAnomalyDetection.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyAnomalyDetection.java
index af85356..7ef7e5a 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyAnomalyDetection.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyAnomalyDetection.java
@@ -33,6 +33,8 @@ import br.ufrgs.inf.bdinetr.domain.Router;
* @author Ingrid Nunes
*/
public class DummyAnomalyDetection extends AbstractRouterComponent implements AnomalyDetection {
+
+ public static final long DELAY = 10;
private boolean first;
private boolean mode;
@@ -59,6 +61,7 @@ public class DummyAnomalyDetection extends AbstractRouterComponent implements An
}
}
}
+ delay(DELAY);
return intrusions;
}
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyClassifier.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyClassifier.java
index 0f8de5b..f5cf24b 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyClassifier.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyClassifier.java
@@ -33,6 +33,8 @@ import br.ufrgs.inf.bdinetr.domain.Router;
* @author Ingrid Nunes
*/
public class DummyClassifier extends AbstractRouterComponent implements Classifier {
+
+ public static final long DELAY = 30;
public DummyClassifier(Router router) {
super(router);
@@ -50,6 +52,7 @@ public class DummyClassifier extends AbstractRouterComponent implements Classifi
flows.add(new Flow(new Ip("DDoS3"), 80, new Ip("victim2"), 80,
"http"));
}
+ delay(DELAY);
return flows;
}
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyRateLimiter.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyRateLimiter.java
index 9faba12..0132665 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyRateLimiter.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/dummy/DummyRateLimiter.java
@@ -37,6 +37,8 @@ import br.ufrgs.inf.bdinetr.domain.Router;
*/
public class DummyRateLimiter extends AbstractRouterComponent implements
RateLimiter, Observable {
+
+ public static final long DELAY = 2;
private final Map<Flow, Integer> rateLimitedflows;
private final Map<Ip, Integer> rateLimitedIps;
@@ -52,16 +54,19 @@ public class DummyRateLimiter extends AbstractRouterComponent implements
@Override
public void limitFlow(Flow flow, int rate) {
this.rateLimitedflows.put(flow, rate);
+ delay(DELAY);
}
@Override
public void limitIp(Ip ip, int rate) {
this.rateLimitedIps.put(ip, rate);
+ delay(DELAY);
}
@Override
public void limitLink(Link link, int rate) {
this.rateLimitedLinks.put(link, rate);
+ delay(DELAY);
setChanged();
notifyObservers(new LimitLinkEvent(link));
}