/* * Request.java * * Request data and operations * * Created by: Arthur L. Blais * Visteon/Ford Microelectronics Inc. * Colorado Springs, CO * * Date: Fri Sep 24 08:43:13 MDT 1999 * **************************************************************************** * * Class Methods * * **************************************************************************** */ import java.util.Random; import java.io.*; public class Request { private long requestNumber; // request number private int client; // client sending request private int server; // server processing request private long requestTime; // clock time of the request private long receiveTime; // time server receives request private long startTime; // clock time of server response private long completeTime; // clock time of completed request private long size; // size of the request (bytes) // constructor public Request( int c, long n ) { requestNumber = n; client = c; server = -1; } /** * getRequestNumber * */ long getRequestNumber() { return requestNumber; } /** * setClient */ void setClient( int i ) { client = i; } /** * getClient */ int getClient() { return client; } /** * setServer */ void setServer( int s ) { server = s; } /** * getServer */ int getServer() { return server; } /** * setRequestTime */ void setRequestTime( long t ) { requestTime = t; } /** * getRequestTime */ long getRequestTime() { return requestTime; } /** * setReceiveTime */ void setReceiveTime( long t ) { receiveTime = t; } /** * getReceiveTime */ long getReceiveTime() { return receiveTime; } /** * setStartTime */ void setStartTime( long t ) { startTime = t; } /** * getStartTime */ long getStartTime() { return startTime; } /** * setCompleteTime */ void setCompleteTime( long t ) { completeTime = t; } /** * getCompleteTime */ long getCompleteTime() { return completeTime; } /** * setSize */ void setSize( long s ) { size = s; } /** * getSize */ long getSize() { return size; } /** * getExecutionTime * * return the execution time of the request */ long getExecutionTime() { return ( completeTime - startTime ); } /** * getWaitTime * * return the time it takes for the client to start receiving * a response to its request */ long getWaitTime() { return ( startTime - requestTime ); } /** * queueWaitTime * * return the time the request spends in the queue */ long queueWaitTime() { return ( startTime - receiveTime ); } void printStats( FileWriter f ) throws IOException { String tab = "\t"; String output = client + tab + requestNumber + tab + server + tab + requestTime + tab + receiveTime + tab + startTime + tab + completeTime + tab + size + "\n"; if ( f != null ) { f.write( output ); f.flush(); } else { System.out.println( output ); } } }