CTL
Class ConnectHandler

java.lang.Object
  extended by java.lang.Thread
      extended by CTL.ConnectHandler
All Implemented Interfaces:
java.lang.Runnable

public class ConnectHandler
extends java.lang.Thread

Incoming connection handling thread


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
private  Env env
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
ConnectHandler(Env env)
           
 
Method Summary
 void accept(int id)
          Accept a connection and delegate it to a handling method
static long argSize(Header head, FID fid)
          Calculates how long the argument list of a call is
static void procRMI(OIStream in, Header head, long objID, int member, Env env)
          Process an RMI call
static void procRMI(OIStream in, Header head, long objID, int member, Env env, java.lang.String suffix)
          Process an RMI call
 void run()
          Handles a connection to this process
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

env

private Env env
Constructor Detail

ConnectHandler

public ConnectHandler(Env env)
Method Detail

run

public void run()
Handles a connection to this process

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

accept

public void accept(int id)
            throws java.io.IOException,
                   java.lang.IllegalAccessException,
                   java.lang.reflect.InvocationTargetException,
                   CTLException,
                   java.lang.NoSuchMethodException,
                   java.lang.ClassNotFoundException,
                   java.lang.InstantiationException
Accept a connection and delegate it to a handling method

Parameters:
id - Logical ID of the connecting client
Throws:
java.io.IOException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
CTLException
java.lang.NoSuchMethodException
java.lang.ClassNotFoundException
java.lang.InstantiationException

argSize

public static long argSize(Header head,
                           FID fid)
Calculates how long the argument list of a call is

Parameters:
head - Header of this package
fid - FunctionID of the invoked method
Returns:
Length of the argument list in bytes

procRMI

public static void procRMI(OIStream in,
                           Header head,
                           long objID,
                           int member,
                           Env env)
                    throws java.io.IOException,
                           java.lang.IllegalAccessException,
                           java.lang.NoSuchMethodException,
                           java.lang.reflect.InvocationTargetException,
                           java.lang.ClassNotFoundException,
                           CTLException,
                           java.lang.InstantiationException
Process an RMI call

Parameters:
in - Input stream for this connection
head - Header of this package
objID - Requested ObjectID
member - Local group member ID
env - Environment information
Throws:
java.io.IOException
java.lang.IllegalAccessException
java.lang.NoSuchMethodException
java.lang.reflect.InvocationTargetException
java.lang.ClassNotFoundException
CTLException
java.lang.InstantiationException

procRMI

public static void procRMI(OIStream in,
                           Header head,
                           long objID,
                           int member,
                           Env env,
                           java.lang.String suffix)
                    throws java.io.IOException,
                           java.lang.IllegalAccessException,
                           java.lang.NoSuchMethodException,
                           java.lang.reflect.InvocationTargetException,
                           java.lang.ClassNotFoundException,
                           CTLException,
                           java.lang.InstantiationException
Process an RMI call

Parameters:
in - Input stream for this connection
head - Header of this package
objID - Requested ObjectID
member - Local group member ID
env - Environment information
suffix - Custom suffix to use for called Classes
Throws:
java.io.IOException
java.lang.IllegalAccessException
java.lang.NoSuchMethodException
java.lang.reflect.InvocationTargetException
java.lang.ClassNotFoundException
CTLException
java.lang.InstantiationException