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