package edu.vt.marian.uip; import java.io.*; import java.net.*; import java.util.*; import edu.vt.marian.common.*; /** class name: client_uip_call_back_thread class description: this class is responsible to send call back process to the call back processor from client uip uses the services of class(es): debug, rpc_function, client_uip call_back_processor, 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_back_thread extends Thread { /** This is for debugging */ Debug debug; /** This is the rpc_function to be passed */ private rpc_function rf; /** This is the call back processor to do the actually rpc function call */ private call_back_processor cbp; /** This is the client uip which the process comes from */ private client_uip cu; /** method description: this constructor will create a client_uip_call_back_thread object based on the information given by the parameters uses the services of class(es): Debug input parameter(s): client_uip cu, the client uip which the process comes from rpc_function, which the function need to be passed call_back_process, which do the actually call back process job Debug debug, debug object output parameter(s): none return value: none synchronization consideration: none */ public client_uip_call_back_thread (client_uip cu, rpc_function rf, call_back_processor cbp, Debug debug) { //set the debug this.debug = debug; //set the rpc_function this.rf = rf; //set the call back process this.cbp = cbp; //set the client uip this.cu = cu; } /** method description: this run pass the function to the call back processor 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 ((cbp == null) || (rf == null) || (cu == null)) { debug.dumpTrace("class client_uip_call_back_thread, method run, one or more of the data members is null"); return; } cbp.process_call_back(cu, rf); } }