public class NioEndpoint extends AbstractJsseEndpoint<NioChannel,java.nio.channels.SocketChannel>
| Modifier and Type | Class and 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 and Description |
|---|---|
static int |
OP_REGISTER |
acceptor, acceptorThreadCount, acceptorThreadPriority, attributes, connections, internalExecutor, negotiableProtocols, paused, processorCache, running, sm, socketProperties, sslHostConfigs, threadPriority| Constructor and Description |
|---|
NioEndpoint() |
| Modifier and Type | Method and Description |
|---|---|
void |
bind()
Initialize the endpoint.
|
protected SocketProcessorBase<NioChannel> |
createSocketProcessor(SocketWrapperBase<NioChannel> socketWrapper,
SocketEvent event) |
protected void |
destroySocket(java.nio.channels.SocketChannel socket)
Close the socket.
|
protected void |
doCloseServerSocket()
Actually close the server socket but don't perform any other clean-up.
|
boolean |
getDeferAccept()
Is deferAccept supported?
|
java.lang.String |
getId()
The default behavior is to identify connectors uniquely with address
and port.
|
int |
getKeepAliveCount()
Number of keep-alive sockets.
|
protected Log |
getLog() |
protected Log |
getLogCertificate() |
protected SynchronizedStack<NioChannel> |
getNioChannels() |
protected NioEndpoint.Poller |
getPoller() |
int |
getPollerThreadCount()
Deprecated.
Will be removed in Tomcat 10.
|
int |
getPollerThreadPriority() |
long |
getSelectorTimeout() |
protected java.nio.channels.NetworkChannel |
getServerSocket() |
protected java.util.concurrent.CountDownLatch |
getStopLatch() |
java.lang.String |
getUnixDomainSocketPath() |
java.lang.String |
getUnixDomainSocketPathPermissions() |
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) |
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 |
setUnixDomainSocketPath(java.lang.String unixDomainSocketPath) |
void |
setUnixDomainSocketPathPermissions(java.lang.String unixDomainSocketPathPermissions) |
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.
|
protected void |
unlockAccept()
Unlock the server socket acceptor threads using bogus connections.
|
createSSLContext, createSSLEngine, getLocalAddress, getSniParseLimit, getSslImplementation, getSslImplementationName, initialiseSsl, isAlpnSupported, setDefaultSslHostConfig, setSniParseLimit, setSslImplementationNameaddNegotiatedProtocol, addSslHostConfig, addSslHostConfig, awaitConnectionsClose, closeServerSocketGraceful, closeSocket, countDownConnection, countUpOrAwaitConnection, createExecutor, destroy, destroySsl, findSslHostConfigs, generateCertificateDebug, getAcceptCount, getAcceptorThreadCount, getAcceptorThreadPriority, getAddress, getAttribute, getBindOnInit, getBindState, getConnectionCount, getConnectionLinger, getConnections, 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, getUseVirtualThreads, getUtilityExecutor, hasNegotiableProtocols, init, initializeConnectionLatch, isPaused, isRunning, isSSLEnabled, logCertificate, 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, setProperty, setSSLEnabled, setTcpNoDelay, setThreadPriority, setUseAsyncIO, setUseSendfile, setUseVirtualThreads, setUtilityExecutor, shutdownExecutor, start, startAcceptorThread, stop, toTimeoutpublic static final int OP_REGISTER
public void setUseInheritedChannel(boolean useInheritedChannel)
public boolean getUseInheritedChannel()
public java.lang.String getUnixDomainSocketPath()
public void setUnixDomainSocketPath(java.lang.String unixDomainSocketPath)
public java.lang.String getUnixDomainSocketPathPermissions()
public void setUnixDomainSocketPathPermissions(java.lang.String unixDomainSocketPathPermissions)
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 boolean getDeferAccept()
getDeferAccept in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>public int getKeepAliveCount()
public java.lang.String getId()
AbstractEndpointgetId in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>public void bind()
throws java.lang.Exception
bind in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>java.lang.Exceptionprotected void initServerSocket()
throws java.lang.Exception
java.lang.Exceptionpublic void startInternal()
throws java.lang.Exception
startInternal in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>java.lang.Exceptionpublic 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.Exceptionprotected void doCloseServerSocket()
throws java.io.IOException
AbstractEndpointdoCloseServerSocket in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>java.io.IOException - If an error occurs closing the socketprotected void unlockAccept()
AbstractEndpointunlockAccept in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>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 destroySocket(java.nio.channels.SocketChannel socket)
AbstractEndpointdestroySocket 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.Exceptionprotected Log getLog()
getLog in class AbstractEndpoint<NioChannel,java.nio.channels.SocketChannel>protected Log getLogCertificate()
getLogCertificate 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-2024 Apache Software Foundation.
Apache Tomcat, Tomcat, Apache, the Apache Tomcat logo and the Apache logo are either registered trademarks or trademarks of the Apache Software Foundation.