package eu.choreos.vv.loadgenerator.strategy; import java.io.BufferedReader; public class TraceDrivenLoad extends LoadGenerationStrategy { private Long timeBefore, sleepInterval; private BufferedReader in; public TraceDrivenLoad(BufferedReader source) { this.in = source; } @Override public void beforeRequest() throws Exception { timeBefore = System.nanoTime(); try { sleepInterval = Long.parseLong(in.readLine()); } catch (Exception e) { sleepInterval = 0l; } } @Override public void afterRequest() throws Exception { Long now = System.nanoTime(); long sleepTime = sleepInterval - now + timeBefore; if (sleepTime > 0) sleep(sleepTime); } }