KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tctest > performance > http > load > ExpiringWorkItem


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package com.tctest.performance.http.load;
5
6 import org.apache.commons.httpclient.HttpClient;
7 import org.apache.commons.httpclient.HttpMethod;
8
9 import com.tctest.performance.http.load.AbstractHttpLoadTest.LoadTestThread;
10
11 import java.io.IOException JavaDoc;
12 import java.io.InputStream JavaDoc;
13
14 public abstract class ExpiringWorkItem implements WorkItem {
15
16   private final long endtime;
17
18   protected ExpiringWorkItem(long endtime) {
19     this.endtime = endtime;
20   }
21
22   public boolean expired(long currenttime) {
23     return currenttime >= endtime;
24   }
25
26   public final boolean stop() {
27     return false;
28   }
29
30   protected abstract void executeImpl(HttpClient client, StatsCollector c) throws IOException JavaDoc;
31
32   public final void execute(StatsCollector c) throws IOException JavaDoc {
33     HttpClient httpClient = ((LoadTestThread) Thread.currentThread()).getHttpClient();
34     executeImpl(httpClient, c);
35   }
36
37   protected void consumeResponse(HttpMethod method) throws IOException JavaDoc {
38     byte[] buf = new byte[4096];
39     int len = buf.length;
40     InputStream JavaDoc in = method.getResponseBodyAsStream();
41     while (in.read(buf, 0, len) > -1) {
42       //
43
}
44   }
45
46   public void done() {
47     // override if desired
48
}
49
50 }
51
Popular Tags