ix.util.ipc
Class SerializedCommunicationStrategy.ObjectStreamServer

java.lang.Object
  extended by java.lang.Thread
      extended by ix.util.CatchingThread
          extended by ix.util.ipc.SerializedCommunicationStrategy.ObjectStreamServer
All Implemented Interfaces:
java.lang.Runnable
Enclosing class:
SerializedCommunicationStrategy

public static class SerializedCommunicationStrategy.ObjectStreamServer
extends CatchingThread

A Thread that accepts connections to a ServerSocket and creates an object-reading thread for each connection. Each of the object-reading threads notifies the specified listener when an object is received. The listener's messageReceived method should presumably therefore be synchronized.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
(package private)  ServiceAddress addr
           
(package private)  java.lang.Object destination
           
(package private)  IPC.MessageListener listener
           
(package private)  java.net.ServerSocket servSock
           
(package private)  SerializedCommunicationStrategy strategy
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
SerializedCommunicationStrategy.ObjectStreamServer(SerializedCommunicationStrategy strategy, java.lang.Object destination, IPC.MessageListener listener)
           
 
Method Summary
 void innerRun()
          Calls the run() method of the innerRunnable passed to the constructor, if innerRunnable is non-null; otherwise does nothing.
protected  void receiveFrom(ObjectStreamConnection connection)
           
protected  void receiveLoop(ObjectStreamConnection connection)
           
protected  void registerWithNameServer()
           
 void setup()
           
protected  boolean shouldWaitForNameServer()
           
 
Methods inherited from class ix.util.CatchingThread
handleException, run
 
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

strategy

SerializedCommunicationStrategy strategy

destination

java.lang.Object destination

listener

IPC.MessageListener listener

addr

ServiceAddress addr

servSock

java.net.ServerSocket servSock
Constructor Detail

SerializedCommunicationStrategy.ObjectStreamServer

public SerializedCommunicationStrategy.ObjectStreamServer(SerializedCommunicationStrategy strategy,
                                                          java.lang.Object destination,
                                                          IPC.MessageListener listener)
Method Detail

setup

public void setup()

innerRun

public void innerRun()
Description copied from class: CatchingThread
Calls the run() method of the innerRunnable passed to the constructor, if innerRunnable is non-null; otherwise does nothing. An alternative to supplying an innerRunnable is to redefine this method in a subclass.

Overrides:
innerRun in class CatchingThread

registerWithNameServer

protected void registerWithNameServer()

shouldWaitForNameServer

protected boolean shouldWaitForNameServer()

receiveFrom

protected void receiveFrom(ObjectStreamConnection connection)

receiveLoop

protected void receiveLoop(ObjectStreamConnection connection)