if (type == TransportConstants.Call) {
log.log (Level.FINEST, "Handling remote method call");
ProxyInputStream objIn = new ProxyInputStream (in);
//Read the call header
ObjID objId = ObjID.read (objIn);
log.log (Level.FINER, "Read object id of " + objId.toString ());
int opNum = objIn.readInt ();
log.log (Level.FINER, "Read op num of " + Integer.toString (opNum));
long hash = objIn.readLong ();
log.log (Level.FINER, "Read hash code of " + Long.toString (hash, 16));
if (objId.equals (REGISTRY_OID)) {
if (opNum == REGISTRY_OP_BIND) {
log.log (Level.FINE, "Handling call to Registry.bind()");
processBindCall (objIn, out);
}
else if (opNum == REGISTRY_OP_LIST) {
log.log (Level.FINE, "Handling call to Registry.list()");
processListCall (objIn, out);
}
else if (opNum == REGISTRY_OP_LOOKUP) {
log.log (Level.FINE, "Handling call to Registry.lookup()");
processLookupCall (objIn, out);
}
else if (opNum == REGISTRY_OP_REBIND) {
log.log (Level.FINE, "Handling call to Registry.rebind()");
processRebindCall (objIn, out);
}
else if (opNum == REGISTRY_OP_UNBIND) {
log.log (Level.FINE, "Handling call to Registry.unbind()");
processUnbindCall (objIn, out);
}
}
else if (objId.equals (DGC_OID)) {
if (opNum == DGC_OP_CLEAN) {
log.log (Level.FINE, "Handling call to DGC.clean()");
processCleanCall (objIn, out);
}
else if (opNum == DGC_OP_DIRTY) {
log.log (Level.FINE, "Handling call to DGC.dirty()");
processDirtyCall (objIn, out);
}
}
else if (objId.equals (ref.getObjID ())) {
processCall (objIn, out, opNum, hash);
}
}
else if (type == TransportConstants.Ping) {
//Acknowledge the ping