org.apache.tomcat.util.net
public class JIoEndpoint extends Object
| Nested Class Summary | |
|---|---|
| protected class | JIoEndpoint.Acceptor
Server socket acceptor thread. |
| interface | JIoEndpoint.Handler
Bare bones interface used for socket processing. |
| protected class | JIoEndpoint.SocketProcessor
This 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 | acceptorThreadCount
Acceptor thread count. |
| protected InetAddress | address
Address for the server socket. |
| protected int | backlog
Allows the server developer to specify the backlog that
should be used for server sockets. |
| protected int | curThreads
Current worker threads count. |
| protected int | curThreadsBusy
Current worker threads busy count. |
| static String | CERTIFICATE_KEY
The Request attribute key for the client certificate chain. |
| static String | CIPHER_SUITE_KEY
The Request attribute key for the cipher suite. |
| protected boolean | daemon
The default is true - the created threads will be
in daemon mode. |
| protected Executor | executor
External Executor based thread pool. |
| protected JIoEndpoint.Handler | handler
Handling of accepted sockets. |
| protected boolean | initialized
Track the initialization state of the endpoint. |
| static String | KEY_SIZE_KEY
The Request attribute key for the key size. |
| protected static Log | log |
| protected int | maxThreads
Maximum amount of worker threads. |
| protected String | name
Name of the thread pool, which will be used for naming child threads. |
| protected boolean | paused
Will be set to true whenever the endpoint is paused. |
| protected int | port
Server socket port. |
| protected boolean | running
Running state of the endpoint. |
| protected int | sequence
Sequence number used to generate thread names. |
| protected ServerSocket | serverSocket
Associated server socket. |
| protected ServerSocketFactory | serverSocketFactory
Server socket factory. |
| protected StringManager | sm |
| protected int | soLinger
Socket linger. |
| protected int | soTimeout
Socket timeout. |
| static String | SESSION_ID_KEY
The Request attribute key for the session id.
|
| protected boolean | tcpNoDelay
Socket TCP no delay. |
| protected int | threadPriority
Priority of the acceptor and poller threads. |
| protected int | unlockTimeout
Unlock timeout. |
| protected JIoEndpoint.WorkerStack | workers
Available workers. |
| 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() |
| 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() |
| Executor | getExecutor() |
| JIoEndpoint.Handler | getHandler() |
| int | getMaxThreads() |
| 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(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(InetAddress address) |
| void | setBacklog(int backlog) |
| void | setDaemon(boolean b) |
| void | setExecutor(Executor executor) |
| void | setHandler(JIoEndpoint.Handler handler) |
| void | setMaxThreads(int maxThreads) |
| void | setName(String name) |
| void | setPort(int port) |
| void | setServerSocketFactory(ServerSocketFactory factory) |
| protected boolean | setSocketOptions(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. |
null instead.Returns: the amount of threads that are managed by the pool
Returns: the amount of threads that are in use
Parameters: workerThread The processor to be recycled