Quadcap Embeddable Server

com.quadcap.net.server.Server Class Reference

List of all members.

Detailed Description

A server has a set of workers, a context, and an acceptor.

Workers are created on demand, up to a configurable maximum.

Author:
Stan Bailes

Definition at line 58 of file Server.java.

Public Member Functions

 Server (Properties props, Object context) throws ClassNotFoundException
ThreadGroup getThreadGroup ()
void startAcceptor (Properties props) throws IOException
Worker getIdleWorker () throws Exception
int getIdleWorkers (Worker[] workerv) throws Exception
void returnIdleWorker (Worker w)
void workerDone (Worker w)
Worker newWorker () throws Exception
void stop ()

Package Attributes

Class workerClass
Object workerLock = new Object()
Object context
ThreadGroup threads
IntMap allWorkers
ArrayQueue workers
int numWorkers = 0
int maxWorkers = 128
long shutdownInterval = 2000L
String name


Constructor & Destructor Documentation

com.quadcap.net.server.Server.Server Properties  props,
Object  context
throws ClassNotFoundException
 

Definition at line 109 of file Server.java.

References com.quadcap.net.server.Server.context, and com.quadcap.net.server.Server.name.


Member Function Documentation

Worker com.quadcap.net.server.Server.getIdleWorker  )  throws Exception
 

Definition at line 139 of file Server.java.

References com.quadcap.net.server.Server.maxWorkers, com.quadcap.net.server.Server.newWorker(), com.quadcap.net.server.Server.numWorkers, com.quadcap.net.server.Server.workerLock, and com.quadcap.net.server.Server.workers.

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

int com.quadcap.net.server.Server.getIdleWorkers Worker[]  workerv  )  throws Exception
 

Definition at line 157 of file Server.java.

References com.quadcap.net.server.Server.getIdleWorkers(), com.quadcap.net.server.Server.maxWorkers, com.quadcap.net.server.Server.newWorker(), com.quadcap.net.server.Server.numWorkers, com.quadcap.net.server.Server.workerLock, and com.quadcap.net.server.Server.workers.

Referenced by com.quadcap.net.server.Server.getIdleWorkers(), and com.quadcap.net.server.Acceptor.runxxx().

ThreadGroup com.quadcap.net.server.Server.getThreadGroup  ) 
 

Definition at line 125 of file Server.java.

References com.quadcap.net.server.Server.threads.

Worker com.quadcap.net.server.Server.newWorker  )  throws Exception
 

Definition at line 193 of file Server.java.

References com.quadcap.net.server.Server.allWorkers, com.quadcap.net.server.Server.context, com.quadcap.net.server.Worker.getId(), com.quadcap.net.server.Worker.init(), com.quadcap.net.server.Server.name, com.quadcap.net.server.Server.threads, and com.quadcap.net.server.Server.workerClass.

Referenced by com.quadcap.net.server.Server.getIdleWorker(), and com.quadcap.net.server.Server.getIdleWorkers().

void com.quadcap.net.server.Server.returnIdleWorker Worker  w  ) 
 

Definition at line 181 of file Server.java.

References com.quadcap.net.server.Server.returnIdleWorker(), com.quadcap.net.server.Server.workerLock, and com.quadcap.net.server.Server.workers.

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

void com.quadcap.net.server.Server.startAcceptor Properties  props  )  throws IOException
 

Definition at line 129 of file Server.java.

References com.quadcap.net.server.Server.startAcceptor(), and com.quadcap.net.server.Server.threads.

Referenced by com.quadcap.net.server.Test.main2(), and com.quadcap.net.server.Server.startAcceptor().

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

Definition at line 201 of file Server.java.

References com.quadcap.net.server.Server.allWorkers, com.quadcap.net.server.Server.shutdownInterval, com.quadcap.net.server.Worker.stop(), and com.quadcap.net.server.Server.threads.

void com.quadcap.net.server.Server.workerDone Worker  w  ) 
 

Definition at line 188 of file Server.java.

References com.quadcap.net.server.Server.allWorkers, com.quadcap.net.server.Worker.getId(), com.quadcap.net.server.Server.workerDone(), and com.quadcap.net.server.Server.workerLock.

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


Member Data Documentation

IntMap com.quadcap.net.server.Server.allWorkers [package]
 

Definition at line 63 of file Server.java.

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

Object com.quadcap.net.server.Server.context [package]
 

Definition at line 61 of file Server.java.

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

int com.quadcap.net.server.Server.maxWorkers = 128 [package]
 

Definition at line 66 of file Server.java.

Referenced by com.quadcap.net.server.Server.getIdleWorker(), and com.quadcap.net.server.Server.getIdleWorkers().

String com.quadcap.net.server.Server.name [package]
 

Definition at line 68 of file Server.java.

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

int com.quadcap.net.server.Server.numWorkers = 0 [package]
 

Definition at line 65 of file Server.java.

Referenced by com.quadcap.net.server.Server.getIdleWorker(), and com.quadcap.net.server.Server.getIdleWorkers().

long com.quadcap.net.server.Server.shutdownInterval = 2000L [package]
 

Definition at line 67 of file Server.java.

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

ThreadGroup com.quadcap.net.server.Server.threads [package]
 

Definition at line 62 of file Server.java.

Referenced by com.quadcap.net.server.Server.getThreadGroup(), com.quadcap.net.server.Server.newWorker(), com.quadcap.net.server.Server.startAcceptor(), and com.quadcap.net.server.Server.stop().

Class com.quadcap.net.server.Server.workerClass [package]
 

Definition at line 59 of file Server.java.

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

Object com.quadcap.net.server.Server.workerLock = new Object() [package]
 

Definition at line 60 of file Server.java.

Referenced by com.quadcap.net.server.Server.getIdleWorker(), com.quadcap.net.server.Server.getIdleWorkers(), com.quadcap.net.server.Server.returnIdleWorker(), and com.quadcap.net.server.Server.workerDone().

ArrayQueue com.quadcap.net.server.Server.workers [package]
 

Definition at line 64 of file Server.java.

Referenced by com.quadcap.net.server.Server.getIdleWorker(), com.quadcap.net.server.Server.getIdleWorkers(), and com.quadcap.net.server.Server.returnIdleWorker().