Commit 26bc14b8 authored by Julian Zobel's avatar Julian Zobel
Browse files

Pause time for AP roaming strategy

parent 96cc40f8
...@@ -51,9 +51,12 @@ public class AttractionPointRoamingStrategy extends AbstractAttractionBasedAssig ...@@ -51,9 +51,12 @@ public class AttractionPointRoamingStrategy extends AbstractAttractionBasedAssig
protected Map<SimLocationActuator, roamingTransitionState> roamingStates = new LinkedHashMap<>(); protected Map<SimLocationActuator, roamingTransitionState> roamingStates = new LinkedHashMap<>();
@XMLConfigurableConstructor({ "defaultPauseTimeMin", "defaultPauseTimeMax" }) protected long roamingPauseTime;
public AttractionPointRoamingStrategy(long defaultPauseTimeMin, long defaultPauseTimeMax) {
@XMLConfigurableConstructor({ "defaultPauseTimeMin", "defaultPauseTimeMax", "roamingPauseTime" })
public AttractionPointRoamingStrategy(long defaultPauseTimeMin, long defaultPauseTimeMax, long roamingPauseTime) {
super(defaultPauseTimeMin, defaultPauseTimeMax); super(defaultPauseTimeMin, defaultPauseTimeMax);
this.roamingPauseTime = roamingPauseTime;
} }
@Override @Override
...@@ -88,8 +91,8 @@ public class AttractionPointRoamingStrategy extends AbstractAttractionBasedAssig ...@@ -88,8 +91,8 @@ public class AttractionPointRoamingStrategy extends AbstractAttractionBasedAssig
this.roamingStates.put(comp, roamingTransitionState.PAUSE); this.roamingStates.put(comp, roamingTransitionState.PAUSE);
// schedule roaming // schedule roaming
long roamingPauseTime = (long) (rnd.nextDouble() * Time.MINUTE * 5) + Time.MINUTE * 5; long pause = (long) Math.max(0, rnd.nextGaussian() * (roamingPauseTime / 3)) + roamingPauseTime;
Event.scheduleWithDelay(roamingPauseTime, this, comp, 0); Event.scheduleWithDelay(pause, this, comp, 0);
} }
private void roamAroundAttractionPoint(SimLocationActuator comp) { private void roamAroundAttractionPoint(SimLocationActuator comp) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment