Class Worker

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--Worker
All Implemented Interfaces:
java.lang.Runnable

public class Worker
extends java.lang.Thread

Server processing for an individual client request. When the voter supplies an election name to the client code, it makes a TCP connection to the server, and this causes a Worker thread to be forked to handle the connection.

The worker thread expects to get a request for the candidates in an election, for which it returns the list of candidates. Then it expects a vote for the election, which it processes and then acknowledges. Any deviation from the expected message format, or invalid message contents (closed election, etc) results in an error reply being sent.

All the operations on elections are done by calling methods on the server member variable, which is set at thread initialisation time. The server handles concurrency control between multiple workers (in fact, this is done at the level of individual elections).


Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Method Summary
 void run()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, 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
 

Method Detail

run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread