networking.server
Class Server

java.lang.Object
  extended by java.lang.Thread
      extended by networking.base.ForkedThread
          extended by networking.base.SocketThread
              extended by networking.server.Server
All Implemented Interfaces:
java.lang.Runnable
Direct Known Subclasses:
FileServer, TalkServer

 class Server
extends SocketThread

Server - this class represents a thread serving a single client. It also provides an opportunity to circulate a message among peers


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
private  Client m_client
          Client being served
private  long m_id
          This server id
protected  MasterServer m_master
          Master server
private static long s_idSeed
          Unique id seed
 
Fields inherited from class networking.base.SocketThread
s_timeSleep
 
Fields inherited from class networking.base.ForkedThread
CHILD, m_fork, NONE, PARENT
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
Server(Server s)
          Construct new Server object from other (forking)
Server(java.net.Socket socket, MasterServer master)
          Construct new Server object
 
Method Summary
protected  void circulateMessage(Message msg)
          Circulate message to a recipient audience
protected  void error(java.lang.Exception e)
          Report error
 Client getClient()
          Get client
 long getId()
          Get server id
private static long getNextId()
          Get next unique id
 java.lang.String getSignature()
          Get this server signature
protected  void log(java.lang.String s)
          Logging routine
protected  void processMessage(Message msg)
          Process a message
protected  void stop1()
          Stop server
protected  int translateMessageType(Message msg)
          Translate message type for sending it to clients
 
Methods inherited from class networking.base.SocketThread
deinit, enque, exit, getIn, getOut, init, recv, run1, send, setSocket, setTimeOut, wait
 
Methods inherited from class networking.base.ForkedThread
run
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, 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

s_idSeed

private static long s_idSeed
Unique id seed


m_master

protected MasterServer m_master
Master server


m_client

private Client m_client
Client being served


m_id

private long m_id
This server id

Constructor Detail

Server

public Server(java.net.Socket socket,
              MasterServer master)
Construct new Server object

Parameters:
socket - socket

Server

public Server(Server s)
Construct new Server object from other (forking)

Parameters:
s - server object
Method Detail

getNextId

private static final long getNextId()
Get next unique id

Returns:
id value

translateMessageType

protected int translateMessageType(Message msg)
Translate message type for sending it to clients

Parameters:
msg - message

circulateMessage

protected final void circulateMessage(Message msg)
                               throws java.lang.Exception
Circulate message to a recipient audience

Parameters:
msg - message with a list of recipients
Throws:
java.lang.Exception

processMessage

protected void processMessage(Message msg)
                       throws java.lang.Exception
Description copied from class: SocketThread
Process a message

Overrides:
processMessage in class SocketThread
Parameters:
msg - message
Throws:
java.lang.Exception

getClient

public final Client getClient()
Get client

Returns:
client being served

getId

public final long getId()
Get server id

Overrides:
getId in class java.lang.Thread
Returns:
id value

getSignature

public java.lang.String getSignature()
Get this server signature

Returns:
signature

log

protected final void log(java.lang.String s)
Logging routine

Parameters:
s - log message

error

protected void error(java.lang.Exception e)
Description copied from class: SocketThread
Report error

Specified by:
error in class SocketThread
Parameters:
e - exception

stop1

protected void stop1()
Stop server



Copyright © 2009 Alexey Veremenko. All rights reserved.