package edu.vt.marian.uip; import java.io.*; import java.net.*; import java.util.*; import edu.vt.marian.common.*; /** class name: client_uip_call_in_thread class description: this class is responsible to send rpc function to client uip thread uses the services of class(es): debug, rpc_function, client_uip client_uip_thread designer(s): Jianxin Zhao (jxzhao@csgrad.cs.vt.edu) implementator(s): Xuelei Sun (xusun@csgrad.cs.vt.edu) finished time: December 8, 1998 known bugs: JDK version: 1.1.5 side effects: */ public class client_uip_call_in_thread extends Thread { /** This is for debugging */ Debug debug; /** This is the rpc_function to be passed */ private rpc_function rf; /** This is the client_uip_thread to do the actually rpc function passing */ private client_uip_thread cut; /** method description: this constructor will create a client_uip_call_in_thread object based on the information given by the parameters uses the services of class(es): Debug input parameter(s): rpc_function, which the function need to be passed client_uip_thread, which do the actually function passing Debug debug, debug object output parameter(s): none return value: none synchronization consideration: none */ public client_uip_call_in_thread (rpc_function rf, client_uip_thread cut, Debug debug) { //set the debug this.debug = debug; //set the rpc_function this.rf = rf; //set the client uip thread this.cut = cut; } /** method description: this run pass the function to the client uip thread uses the services of class(es): call_back_processor input parameter(s): none output parameter(s): none return value: none synchronization consideration: none */ public void run() { if ((cut == null) || (rf == null)) { debug.dumpTrace("class client_uip_call_in_thread, method run, one or more of the data members is null"); return; } if (cut.get_status()!= cut.OK) { debug.dumpTrace ("Class client_uip_call_in_thread, Method: run, client uip thread status not ok"); } cut.rpc_call(rf); } }