| 
 | Apache Tomcat 6.0.53 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.tomcat.util.net.AbstractEndpoint
org.apache.tomcat.util.net.JIoEndpoint
public class JIoEndpoint
Handle incoming TCP connections. This class implement a simple server model: one listener thread accepts on a socket and creates a new worker thread for each incoming connection. More advanced Endpoints will reuse the threads, use queues, etc.
| Nested Class Summary | |
|---|---|
| protected  class | JIoEndpoint.AcceptorServer socket acceptor thread. | 
| static interface | JIoEndpoint.HandlerBare bones interface used for socket processing. | 
| protected  class | JIoEndpoint.SocketProcessorThis class is the equivalent of the Worker, but will simply use in an external Executor thread pool. | 
| protected  class | JIoEndpoint.Worker | 
|  class | JIoEndpoint.WorkerStack | 
| Field Summary | |
|---|---|
| protected  int | acceptorThreadCountAcceptor thread count. | 
| protected  java.net.InetAddress | addressAddress for the server socket. | 
| protected  int | backlogAllows the server developer to specify the backlog that should be used for server sockets. | 
| static java.lang.String | CERTIFICATE_KEYThe Request attribute key for the client certificate chain. | 
| static java.lang.String | CIPHER_SUITE_KEYThe Request attribute key for the cipher suite. | 
| protected  int | curThreadsCurrent worker threads count. | 
| protected  int | curThreadsBusyCurrent worker threads busy count. | 
| protected  boolean | daemonThe default is true - the created threads will be in daemon mode. | 
| protected  java.util.concurrent.Executor | executorExternal Executor based thread pool. | 
| protected  JIoEndpoint.Handler | handlerHandling of accepted sockets. | 
| protected  boolean | initializedTrack the initialization state of the endpoint. | 
| static java.lang.String | KEY_SIZE_KEYThe Request attribute key for the key size. | 
| protected static Log | log | 
| protected  int | maxThreadsMaximum amount of worker threads. | 
| protected  java.lang.String | nameName of the thread pool, which will be used for naming child threads. | 
| protected  boolean | pausedWill be set to true whenever the endpoint is paused. | 
| protected  int | portServer socket port. | 
| protected  boolean | runningRunning state of the endpoint. | 
| protected  int | sequenceSequence number used to generate thread names. | 
| protected  java.net.ServerSocket | serverSocketAssociated server socket. | 
| protected  ServerSocketFactory | serverSocketFactoryServer socket factory. | 
| static java.lang.String | SESSION_ID_KEYThe Request attribute key for the session id. | 
| protected  StringManager | sm | 
| protected  int | soLingerSocket linger. | 
| protected  int | soTimeoutSocket timeout. | 
| protected  boolean | tcpNoDelaySocket TCP no delay. | 
| protected  int | threadPriorityPriority of the acceptor and poller threads. | 
| protected  int | unlockTimeoutUnlock timeout. | 
| protected  JIoEndpoint.WorkerStack | workersAvailable workers. | 
| Constructor Summary | |
|---|---|
| JIoEndpoint() | |
| Method Summary | |
|---|---|
| protected  JIoEndpoint.Worker | createWorkerThread()Create (or allocate) and return an available processor for use in processing a specific HTTP request, if possible. | 
|  void | destroy()Deallocate APR memory pools, and close server socket. | 
|  int | getAcceptorThreadCount() | 
|  java.net.InetAddress | getAddress() | 
|  int | getBacklog() | 
|  int | getCurrentThreadCount()Return the amount of threads that are managed by the pool. | 
|  int | getCurrentThreadsBusy()Return the amount of threads that are in use | 
|  boolean | getDaemon() | 
|  java.util.concurrent.Executor | getExecutor() | 
|  JIoEndpoint.Handler | getHandler() | 
|  int | getLocalPort()Port in use. | 
|  int | getMaxThreads() | 
|  java.lang.String | getName() | 
|  int | getPort() | 
|  ServerSocketFactory | getServerSocketFactory() | 
|  int | getSoLinger() | 
|  int | getSoTimeout() | 
|  boolean | getTcpNoDelay() | 
|  int | getThreadPriority() | 
|  int | getUnlockTimeout() | 
| protected  JIoEndpoint.Worker | getWorkerThread()Return a new worker thread, and block while to worker is available. | 
|  void | init() | 
|  boolean | isPaused() | 
|  boolean | isRunning() | 
| protected  JIoEndpoint.Worker | newWorkerThread()Create and return a new processor suitable for processing HTTP requests and returning the corresponding responses. | 
|  void | pause() | 
| protected  boolean | processSocket(java.net.Socket socket)Process given socket. | 
| protected  void | recycleWorkerThread(JIoEndpoint.Worker workerThread)Recycle the specified Processor so that it can be used again. | 
|  void | resume() | 
|  void | setAcceptorThreadCount(int acceptorThreadCount) | 
|  void | setAddress(java.net.InetAddress address) | 
|  void | setBacklog(int backlog) | 
|  void | setDaemon(boolean b) | 
|  void | setExecutor(java.util.concurrent.Executor executor) | 
|  void | setHandler(JIoEndpoint.Handler handler) | 
|  void | setMaxThreads(int maxThreads) | 
|  void | setName(java.lang.String name) | 
|  void | setPort(int port) | 
|  void | setServerSocketFactory(ServerSocketFactory factory) | 
| protected  boolean | setSocketOptions(java.net.Socket socket)Set the options for the current socket. | 
|  void | setSoLinger(int soLinger) | 
|  void | setSoTimeout(int soTimeout) | 
|  void | setTcpNoDelay(boolean tcpNoDelay) | 
|  void | setThreadPriority(int threadPriority) | 
|  void | setUnlockTimeout(int unlockTimeout) | 
|  void | start() | 
|  void | stop() | 
| protected  void | unlockAccept()Unlock the accept by using a local connection. | 
| Methods inherited from class org.apache.tomcat.util.net.AbstractEndpoint | 
|---|
| getMaxHeaderCount, setMaxHeaderCount | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
protected static Log log
protected StringManager sm
public static final java.lang.String CIPHER_SUITE_KEY
public static final java.lang.String KEY_SIZE_KEY
public static final java.lang.String CERTIFICATE_KEY
public static final java.lang.String SESSION_ID_KEY
protected JIoEndpoint.WorkerStack workers
protected volatile boolean running
protected volatile boolean paused
protected boolean initialized
protected int curThreadsBusy
protected int curThreads
protected int sequence
protected java.net.ServerSocket serverSocket
protected int acceptorThreadCount
protected java.util.concurrent.Executor executor
protected int maxThreads
protected int threadPriority
protected int port
protected java.net.InetAddress address
protected JIoEndpoint.Handler handler
protected int backlog
protected boolean tcpNoDelay
protected int soLinger
protected int soTimeout
protected boolean daemon
protected java.lang.String name
protected ServerSocketFactory serverSocketFactory
protected int unlockTimeout
| Constructor Detail | 
|---|
public JIoEndpoint()
| Method Detail | 
|---|
public void setAcceptorThreadCount(int acceptorThreadCount)
public int getAcceptorThreadCount()
public void setExecutor(java.util.concurrent.Executor executor)
public java.util.concurrent.Executor getExecutor()
public void setMaxThreads(int maxThreads)
public int getMaxThreads()
public void setThreadPriority(int threadPriority)
public int getThreadPriority()
public int getPort()
public void setPort(int port)
public java.net.InetAddress getAddress()
public void setAddress(java.net.InetAddress address)
public void setHandler(JIoEndpoint.Handler handler)
public JIoEndpoint.Handler getHandler()
public void setBacklog(int backlog)
public int getBacklog()
public boolean getTcpNoDelay()
public void setTcpNoDelay(boolean tcpNoDelay)
public int getSoLinger()
public void setSoLinger(int soLinger)
public int getSoTimeout()
public void setSoTimeout(int soTimeout)
public void setDaemon(boolean b)
public boolean getDaemon()
public void setName(java.lang.String name)
public java.lang.String getName()
public void setServerSocketFactory(ServerSocketFactory factory)
public ServerSocketFactory getServerSocketFactory()
public int getUnlockTimeout()
public void setUnlockTimeout(int unlockTimeout)
public int getLocalPort()
getLocalPort in class AbstractEndpointpublic boolean isRunning()
public boolean isPaused()
public int getCurrentThreadCount()
public int getCurrentThreadsBusy()
public void init()
          throws java.lang.Exception
java.lang.Exception
public void start()
           throws java.lang.Exception
java.lang.Exceptionpublic void pause()
public void resume()
public void stop()
public void destroy()
             throws java.lang.Exception
java.lang.Exceptionprotected void unlockAccept()
protected boolean setSocketOptions(java.net.Socket socket)
protected JIoEndpoint.Worker createWorkerThread()
null instead.
protected JIoEndpoint.Worker newWorkerThread()
protected JIoEndpoint.Worker getWorkerThread()
protected void recycleWorkerThread(JIoEndpoint.Worker workerThread)
workerThread - The processor to be recycledprotected boolean processSocket(java.net.Socket socket)
| 
 | Apache Tomcat 6.0.53 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||