1 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 ; 12 import java.io.InputStream ; 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 ; 31 32 public final void execute(StatsCollector c) throws IOException { 33 HttpClient httpClient = ((LoadTestThread) Thread.currentThread()).getHttpClient(); 34 executeImpl(httpClient, c); 35 } 36 37 protected void consumeResponse(HttpMethod method) throws IOException { 38 byte[] buf = new byte[4096]; 39 int len = buf.length; 40 InputStream in = method.getResponseBodyAsStream(); 41 while (in.read(buf, 0, len) > -1) { 42 } 44 } 45 46 public void done() { 47 } 49 50 } 51 | Popular Tags |