1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package eteg.sinon.executor;
24
25 import eteg.sinon.exception.InvalidThinkTimeConfigurationException;
26
27 import java.util.Properties;
28
29 /***
30 * Instances of this interface implement the think time (time between requests
31 * to the same website). They are configured through the use of
32 * <code><property name="" value=""></code> tags inside the
33 * <code><thinkTime></code> tag.
34 *
35 * @author <a href="mailto:thiagohp at users.sourceforge.net">Thiago H. de Paula Figueiredo</a>
36 * @author Last modified by $Author: thiagohp $
37 * @version $Revision: 1.2 $
38 */
39 public interface ThinkTime {
40
41 /***
42 * Returns the think time, in milliseconds, between the last request
43 * made and the next one.
44 *
45 * @return a <code>long</code>.
46 */
47 public long nextThinkTime();
48
49 /***
50 * Configures this {@link ThinkTime} object. This method is always
51 * invoked before {@link #nextThinkTime} is first invoked.
52 *
53 * @param properties a <code>Properties</code> instance.
54 * @throws InvalidThinkTimeConfigurationException if the given configuration
55 * is not valid.
56 */
57 public void setConfiguration(Properties properties)
58 throws InvalidThinkTimeConfigurationException;
59
60 }