public class NioEndpoint extends AbstractJsseEndpoint<NioChannel,java.nio.channels.SocketChannel>
Modifier and Type | Class | Description |
---|---|---|
static class |
NioEndpoint.NioSocketWrapper |
|
class |
NioEndpoint.Poller |
Poller class.
|
static class |
NioEndpoint.PollerEvent |
PollerEvent, cacheable object for poller events to avoid GC
|
static class |
NioEndpoint.SendfileData |
SendfileData class.
|
protected class |
NioEndpoint.SocketProcessor |
This class is the equivalent of the Worker, but will simply use in an
external Executor thread pool.
|
AbstractEndpoint.BindState, AbstractEndpoint.Handler<S>
Modifier and Type | Field | Description |
---|---|---|
static int |
OP_REGISTER |
acceptor, acceptorThreadCount, acceptorThreadPriority, attributes, internalExecutor, negotiableProtocols, paused, processorCache, running, sm, socketProperties, sslHostConfigs, threadPriority
Constructor | Description |
---|---|
NioEndpoint() |
Modifier and Type | Method | Description |
---|---|---|
void |
bind() |
Initialize the endpoint.
|
protected void |
closeSocket(java.nio.channels.SocketChannel socket) |
Close the socket when the connection has to be immediately closed when
an error occurs while configuring the accepted socket, allocating
a wrapper for the socket, or trying to dispatch it for processing.
|
protected SocketProcessorBase<NioChannel> |
createSocketProcessor(SocketWrapperBase<NioChannel> socketWrapper,
SocketEvent event) |
|
protected void |
doCloseServerSocket() |
Actually close the server socket but don't perform any other clean-up.
|
boolean |
getDeferAccept() |
Is deferAccept supported?
|
int |
getKeepAliveCount() |
Number of keep-alive sockets.
|
protected Log |
getLog() |
|
protected SynchronizedStack<NioChannel> |
getNioChannels() |
|
protected NioEndpoint.Poller |
getPoller() |
|
int |
getPollerThreadCount() |
Deprecated.
Will be removed in Tomcat 10.
|
int |
getPollerThreadPriority() |
|
protected NioSelectorPool |
getSelectorPool() |
|
long |
getSelectorTimeout() |
|
protected java.nio.channels.NetworkChannel |
getServerSocket() |
|
protected java.util.concurrent.CountDownLatch |
getStopLatch() |
|
boolean |
getUseInheritedChannel() |
|
protected void |
initServerSocket() |
|
protected java.nio.channels.SocketChannel |
serverSocketAccept() |
|
void |
setPollerThreadCount(int pollerThreadCount) |
Deprecated.
Will be removed in Tomcat 10.
|
void |
setPollerThreadPriority(int pollerThreadPriority) |
|
boolean |
setProperty(java.lang.String name,
java.lang.String value) |
Generic properties, introspected
|
void |
setSelectorPool(NioSelectorPool selectorPool) |
|
void |
setSelectorTimeout(long timeout) |
|
protected boolean |
setSocketOptions(java.nio.channels.SocketChannel socket) |
Process the specified connection.
|
protected void |
setStopLatch(java.util.concurrent.CountDownLatch stopLatch) |
|
void |
setUseInheritedChannel(boolean useInheritedChannel) |
|
void |
startInternal() |
Start the NIO endpoint, creating acceptor, poller threads.
|
void |
stopInternal() |
Stop the endpoint.
|
void |
unbind() |
Deallocate NIO memory pools, and close server socket.
|
addNegotiatedProtocol, addSslHostConfig, addSslHostConfig, closeServerSocketGraceful, countDownConnection, countUpOrAwaitConnection, createExecutor, destroy, destroySocket, destroySsl, findSslHostConfigs, getAcceptCount, getAcceptorThreadCount, getAcceptorThreadPriority, getAddress, getAttribute, getBindOnInit, getConnectionCount, getConnectionLinger, getConnectionTimeout, getCurrentThreadCount, getCurrentThreadsBusy, getDaemon, getDefaultSSLHostConfigName, getDomain, getExecutor, getExecutorTerminationTimeoutMillis, getHandler, getKeepAliveTimeout, getLocalPort, getMaxConnections, getMaxKeepAliveRequests, getMaxThreads, getMinSpareThreads, getName, getPort, getPortOffset, getPortWithOffset, getProperty, getSocketProperties, getSSLHostConfig, getTcpNoDelay, getThreadPriority, getUseAsyncIO, getUseSendfile, getUtilityExecutor, hasNegotiableProtocols, init, initializeConnectionLatch, isPaused, isRunning, isSSLEnabled, pause, processSocket, releaseSSLContext, reloadSslHostConfig, reloadSslHostConfigs, removeSslHostConfig, resume, setAcceptCount, setAcceptorThreadCount, setAcceptorThreadPriority, setAddress, setAttribute, setBindOnInit, setConnectionLinger, setConnectionTimeout, setDaemon, setDefaultSSLHostConfigName, setDomain, setExecutor, setExecutorTerminationTimeoutMillis, setHandler, setKeepAliveTimeout, setMaxConnections, setMaxKeepAliveRequests, setMaxThreads, setMinSpareThreads, setName, setPort, setPortOffset, setSSLEnabled, setTcpNoDelay, setThreadPriority, setUseAsyncIO, setUseSendfile, setUtilityExecutor, shutdownExecutor, start, startAcceptorThread, stop, toTimeout
createSSLContext, createSSLEngine, getLocalAddress, getSniParseLimit, getSslImplementation, getSslImplementationName, initialiseSsl, isAlpnSupported, setSniParseLimit, setSslImplementationName
public static final int OP_REGISTER
public boolean setProperty(java.lang.String name, java.lang.String value)
setProperty
in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>
public void setUseInheritedChannel(boolean useInheritedChannel)
public boolean getUseInheritedChannel()
public void setPollerThreadPriority(int pollerThreadPriority)
public int getPollerThreadPriority()
@Deprecated public void setPollerThreadCount(int pollerThreadCount)
pollerThreadCount
- Unused@Deprecated public int getPollerThreadCount()
public void setSelectorTimeout(long timeout)
public long getSelectorTimeout()
public void setSelectorPool(NioSelectorPool selectorPool)
public boolean getDeferAccept()
getDeferAccept
in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>
public int getKeepAliveCount()
public void bind() throws java.lang.Exception
bind
in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>
java.lang.Exception
protected void initServerSocket() throws java.lang.Exception
java.lang.Exception
public void startInternal() throws java.lang.Exception
startInternal
in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>
java.lang.Exception
public void stopInternal()
stopInternal
in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>
public void unbind() throws java.lang.Exception
unbind
in class AbstractJsseEndpoint<NioChannel,java.nio.channels.SocketChannel>
java.lang.Exception
protected void doCloseServerSocket() throws java.io.IOException
AbstractEndpoint
doCloseServerSocket
in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>
java.io.IOException
- If an error occurs closing the socketprotected NioSelectorPool getSelectorPool()
protected SynchronizedStack<NioChannel> getNioChannels()
protected NioEndpoint.Poller getPoller()
protected java.util.concurrent.CountDownLatch getStopLatch()
protected void setStopLatch(java.util.concurrent.CountDownLatch stopLatch)
protected boolean setSocketOptions(java.nio.channels.SocketChannel socket)
setSocketOptions
in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>
socket
- The socket channeltrue
if the socket was correctly configured
and processing may continue, false
if the socket needs to be
close immediatelyprotected void closeSocket(java.nio.channels.SocketChannel socket)
AbstractEndpoint
closeSocket
in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>
socket
- The newly accepted socketprotected java.nio.channels.NetworkChannel getServerSocket()
getServerSocket
in class AbstractJsseEndpoint<NioChannel,java.nio.channels.SocketChannel>
protected java.nio.channels.SocketChannel serverSocketAccept() throws java.lang.Exception
serverSocketAccept
in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>
java.lang.Exception
protected Log getLog()
getLog
in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>
protected SocketProcessorBase<NioChannel> createSocketProcessor(SocketWrapperBase<NioChannel> socketWrapper, SocketEvent event)
createSocketProcessor
in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.