edu.berkeley.guir.ptk.server
Class PComm

java.lang.Object
  extended byedu.berkeley.guir.ptk.PTK
      extended byedu.berkeley.guir.ptk.server.PComm
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Runnable
Direct Known Subclasses:
PClient, PServer

public class PComm
extends PTK
implements java.lang.Runnable, java.lang.Cloneable


Field Summary
(package private)  java.lang.String id
           
(package private)  java.lang.String local_ip
           
(package private)  int local_port
           
(package private)  boolean server
           
(package private)  java.lang.String server_ip
           
(package private)  int server_port
           
 
Fields inherited from class edu.berkeley.guir.ptk.PTK
debug, MAX_DEBUG, MED_DEBUG, MIN_DEBUG, NO_DEBUG
 
Constructor Summary
PComm(boolean server, java.lang.String id, java.lang.String local_ip, int local_port, java.lang.String server_ip, int server_port)
           
 
Method Summary
 PMessage decodeMessage(java.io.ObjectInputStream ois)
           
protected  java.net.Socket getConnection(java.lang.String ip, int port)
           
 void handleIncomingMessage(java.net.Socket s)
           
 void run()
          This method loops forever waiting for data on the socket.
 PMessage sendMessage(PMessage pm)
           
 PMessage sendMessage(PMessage pm, java.lang.String ip, int port)
           
 PMessage serverHandleMessage(PMessage pm)
           
 void start()
          Starts a server and a thread with this as the Runnable.
 void stopServer()
          Stops the original thread running and closes the socket.
 
Methods inherited from class edu.berkeley.guir.ptk.PTK
getMAX, getMED, getMIN, getNO, printDebug, printDebug, printError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

server

boolean server

local_ip

java.lang.String local_ip

local_port

int local_port

server_port

int server_port

server_ip

java.lang.String server_ip

id

java.lang.String id
Constructor Detail

PComm

public PComm(boolean server,
             java.lang.String id,
             java.lang.String local_ip,
             int local_port,
             java.lang.String server_ip,
             int server_port)
Method Detail

start

public void start()
Starts a server and a thread with this as the Runnable.


stopServer

public void stopServer()
Stops the original thread running and closes the socket.


run

public void run()
This method loops forever waiting for data on the socket. When data arrives, it clones a new instance of this class so the new thread can deal with the data, while the current instance looks for new data. The new thread deals with the data by calling handleIncomingRequest().

Specified by:
run in interface java.lang.Runnable

handleIncomingMessage

public void handleIncomingMessage(java.net.Socket s)

sendMessage

public PMessage sendMessage(PMessage pm)

sendMessage

public PMessage sendMessage(PMessage pm,
                            java.lang.String ip,
                            int port)

serverHandleMessage

public PMessage serverHandleMessage(PMessage pm)

decodeMessage

public PMessage decodeMessage(java.io.ObjectInputStream ois)

getConnection

protected java.net.Socket getConnection(java.lang.String ip,
                                        int port)
                                 throws java.io.IOException
Throws:
java.io.IOException