Quadcap Embeddable Server

com.quadcap.net.server.Worker Class Reference

Inheritance diagram for com.quadcap.net.server.Worker:

Runnable com.quadcap.net.server.EchoWorker com.quadcap.net.server.SimpleWorker List of all members.

Detailed Description

A worker is a runnable with a context, in/out streams, and (when active) a socket.

Author:
Stan Bailes

Definition at line 61 of file Worker.java.

Public Member Functions

String toString ()
void init (Server server, Object context)
void init (Server server, Object context, String name) throws IOException
int getId ()
void run ()
final WorkerInputStream getInputStream ()
final WorkerOutputStream getOutputStream ()
final Socket getSocket ()
final String getHostName ()
final int getPort ()
String getRemoteAddr ()
 Return the IP address of the agent that sent the request.

String getRemoteHost ()
abstract void doSession () throws Exception
void stop ()

Protected Attributes

Socket socket = null
Object context
FileOutputStream log = null
WorkerInputStream win = null
WorkerOutputStream wout = null

Package Functions

void handle (Socket socket, int sport)

Package Attributes

Server server
Object lock = new Object()
int sport = -1
boolean terminate = false
int cnt = wcnt++

Static Package Attributes

int wcnt = 0


Member Function Documentation

abstract void com.quadcap.net.server.Worker.doSession  )  throws Exception [pure virtual]
 

Implemented in com.quadcap.net.server.EchoWorker, and com.quadcap.net.server.SimpleWorker.

Referenced by com.quadcap.net.server.Worker.run().

final String com.quadcap.net.server.Worker.getHostName  ) 
 

Definition at line 163 of file Worker.java.

References com.quadcap.net.server.Worker.socket.

int com.quadcap.net.server.Worker.getId  ) 
 

Definition at line 105 of file Worker.java.

References com.quadcap.net.server.Worker.cnt.

Referenced by com.quadcap.net.server.Server.newWorker(), and com.quadcap.net.server.Server.workerDone().

final WorkerInputStream com.quadcap.net.server.Worker.getInputStream  ) 
 

Definition at line 151 of file Worker.java.

References com.quadcap.net.server.Worker.win.

final WorkerOutputStream com.quadcap.net.server.Worker.getOutputStream  ) 
 

Definition at line 155 of file Worker.java.

References com.quadcap.net.server.Worker.wout.

final int com.quadcap.net.server.Worker.getPort  ) 
 

Definition at line 167 of file Worker.java.

References com.quadcap.net.server.Worker.sport.

String com.quadcap.net.server.Worker.getRemoteAddr  ) 
 

Return the IP address of the agent that sent the request.

Definition at line 174 of file Worker.java.

References com.quadcap.net.server.Worker.socket.

String com.quadcap.net.server.Worker.getRemoteHost  ) 
 

Definition at line 179 of file Worker.java.

References com.quadcap.net.server.Worker.socket.

final Socket com.quadcap.net.server.Worker.getSocket  ) 
 

Definition at line 159 of file Worker.java.

References com.quadcap.net.server.Worker.socket.

void com.quadcap.net.server.Worker.handle Socket  socket,
int  sport
[package]
 

Definition at line 107 of file Worker.java.

References com.quadcap.net.server.Worker.handle(), and com.quadcap.net.server.Worker.lock.

Referenced by com.quadcap.net.server.Worker.handle(), com.quadcap.net.server.Acceptor.run(), and com.quadcap.net.server.Acceptor.runxxx().

void com.quadcap.net.server.Worker.init Server  server,
Object  context,
String  name
throws IOException
 

Definition at line 85 of file Worker.java.

References com.quadcap.net.server.Worker.cnt, com.quadcap.net.server.Worker.context, com.quadcap.net.server.Worker.log, com.quadcap.net.server.Worker.server, com.quadcap.net.server.Worker.win, and com.quadcap.net.server.Worker.wout.

void com.quadcap.net.server.Worker.init Server  server,
Object  context
 

Reimplemented in com.quadcap.net.server.SimpleWorker.

Definition at line 80 of file Worker.java.

References com.quadcap.net.server.Server.context, and com.quadcap.net.server.Worker.init().

Referenced by com.quadcap.net.server.Worker.init(), and com.quadcap.net.server.Server.newWorker().

void com.quadcap.net.server.Worker.run  ) 
 

Definition at line 115 of file Worker.java.

References com.quadcap.net.server.WorkerOutputStream.close(), com.quadcap.net.server.Worker.doSession(), com.quadcap.net.server.Worker.lock, com.quadcap.net.server.WorkerOutputStream.reset(), com.quadcap.net.server.WorkerInputStream.reset(), com.quadcap.net.server.Server.returnIdleWorker(), com.quadcap.net.server.Worker.server, com.quadcap.net.server.Worker.socket, com.quadcap.net.server.Worker.terminate, com.quadcap.net.server.Worker.win, and com.quadcap.net.server.Worker.wout.

void com.quadcap.net.server.Worker.stop  ) 
 

Definition at line 186 of file Worker.java.

References com.quadcap.net.server.Worker.lock, and com.quadcap.net.server.Worker.terminate.

Referenced by com.quadcap.net.server.Server.stop().

String com.quadcap.net.server.Worker.toString  ) 
 

Definition at line 78 of file Worker.java.

References com.quadcap.net.server.Worker.cnt.


Member Data Documentation

int com.quadcap.net.server.Worker.cnt = wcnt++ [package]
 

Definition at line 69 of file Worker.java.

Referenced by com.quadcap.net.server.Worker.getId(), com.quadcap.net.server.Worker.init(), and com.quadcap.net.server.Worker.toString().

Object com.quadcap.net.server.Worker.context [protected]
 

Definition at line 71 of file Worker.java.

Referenced by com.quadcap.net.server.Worker.init().

Object com.quadcap.net.server.Worker.lock = new Object() [package]
 

Definition at line 63 of file Worker.java.

Referenced by com.quadcap.net.server.Worker.handle(), com.quadcap.net.server.Worker.run(), and com.quadcap.net.server.Worker.stop().

FileOutputStream com.quadcap.net.server.Worker.log = null [protected]
 

Definition at line 73 of file Worker.java.

Referenced by com.quadcap.net.server.Worker.init().

Server com.quadcap.net.server.Worker.server [package]
 

Definition at line 62 of file Worker.java.

Referenced by com.quadcap.net.server.Worker.init(), and com.quadcap.net.server.Worker.run().

Socket com.quadcap.net.server.Worker.socket = null [protected]
 

Definition at line 64 of file Worker.java.

Referenced by com.quadcap.net.server.Worker.getHostName(), com.quadcap.net.server.Worker.getRemoteAddr(), com.quadcap.net.server.Worker.getRemoteHost(), com.quadcap.net.server.Worker.getSocket(), and com.quadcap.net.server.Worker.run().

int com.quadcap.net.server.Worker.sport = -1 [package]
 

Definition at line 65 of file Worker.java.

Referenced by com.quadcap.net.server.Worker.getPort().

boolean com.quadcap.net.server.Worker.terminate = false [package]
 

Definition at line 66 of file Worker.java.

Referenced by com.quadcap.net.server.Worker.run(), and com.quadcap.net.server.Worker.stop().

int com.quadcap.net.server.Worker.wcnt = 0 [static, package]
 

Definition at line 68 of file Worker.java.

WorkerInputStream com.quadcap.net.server.Worker.win = null [protected]
 

Definition at line 75 of file Worker.java.

Referenced by com.quadcap.net.server.Worker.getInputStream(), com.quadcap.net.server.Worker.init(), and com.quadcap.net.server.Worker.run().

WorkerOutputStream com.quadcap.net.server.Worker.wout = null [protected]
 

Definition at line 76 of file Worker.java.

Referenced by com.quadcap.net.server.Worker.getOutputStream(), com.quadcap.net.server.Worker.init(), and com.quadcap.net.server.Worker.run().