package org.mobicents.qa.performance.jainsip.governor; import java.util.Timer; import java.util.TimerTask; import org.mobicents.qa.performance.jainsip.inspector.TestObserver; import org.mobicents.qa.performance.jainsip.util.SippController; public class NoRateGovernor implements Governor { private TestObserver observer; private SippController controller; private boolean endTest; public NoRateGovernor(TestObserver observer, SippController controller) { this.observer = observer; this.controller = controller; this.endTest = false; new Timer().schedule(new NoRateGovernorTimerTask(), 0l, 1 * 1000); } public TestObserver getObserver() { return this.observer; } public void endTest() { this.controller.quit(); endTest = true; } private class NoRateGovernorTimerTask extends TimerTask { public NoRateGovernorTimerTask() { controller.setRate(0); } public void run() { if (endTest) { return; } if (observer.getCreatedDialogCount() == 0) { System.out.println("FixedRateGovernor: Trying to lock ... "); } else { System.out.println("FixedRateGovernor: Dialog count; " + observer.getAndResetCreatedDialogCount()); } } } }