Class AbstractNetworkChannelEndpoint<S extends Channel, U extends NetworkChannel>
java.lang.Object
org.apache.tomcat.util.net.AbstractEndpoint<S,U>
org.apache.tomcat.util.net.AbstractNetworkChannelEndpoint<S,U>
- Type Parameters:
S- The channel typeU- The network channel type
- Direct Known Subclasses:
Nio2Endpoint, NioEndpoint
public abstract class AbstractNetworkChannelEndpoint<S extends Channel, U extends NetworkChannel>
extends AbstractEndpoint<S,U>
Provides a base implementation for endpoints that use a
NetworkChannel.-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractEndpoint
AbstractEndpoint.BindState, AbstractEndpoint.Handler<S> -
Field Summary
Fields inherited from class AbstractEndpoint
acceptor, acceptorThreadPriority, attributes, connections, internalExecutor, negotiableProtocols, paused, processorCache, running, sm, socketProperties, sslHostConfigs, threadPriority -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract ScreateChannel(SocketBufferHandler buffer) Creates the channel to be used by this endpoint.protected final InetSocketAddressObtain the network address the server socket is bound to.protected abstract NetworkChannelReturns the server socket used by this endpoint.Methods inherited from class AbstractEndpoint
addNegotiatedProtocol, addSslHostConfig, addSslHostConfig, awaitConnectionsClose, bind, checkSni, closeServerSocketGraceful, closeSocket, countDownConnection, countUpOrAwaitConnection, createExecutor, createSocketProcessor, createSSLContext, createSSLEngine, destroy, destroySocket, destroySsl, doCloseServerSocket, findSslHostConfigs, generateCertificateDebug, getAcceptCount, getAcceptorThreadPriority, getAddress, getAttribute, getBindOnInit, getBindState, getConnectionCount, getConnectionLinger, getConnections, getConnectionTimeout, getCurrentThreadCount, getCurrentThreadsBusy, getDaemon, getDefaultSSLHostConfigName, getDomain, getExecutor, getExecutorTerminationTimeoutMillis, getHandler, getId, getKeepAliveTimeout, getLocalPort, getLog, getLogCertificate, getMaxConnections, getMaxKeepAliveRequests, getMaxQueueSize, getMaxThreads, getMinSpareThreads, getName, getPort, getPortOffset, getPortWithOffset, getProperty, getSniParseLimit, getSocketProperties, getSSLHostConfig, getSslImplementation, getSslImplementationName, getStrictSni, getTcpNoDelay, getThreadPriority, getThreadsMaxIdleTime, getUseAsyncIO, getUseSendfile, getUseVirtualThreads, getUtilityExecutor, hasNegotiableProtocols, init, initialiseSsl, initializeConnectionLatch, isPaused, isRunning, isSSLEnabled, logCertificate, pause, processSocket, releaseSSLContext, reloadSslHostConfig, reloadSslHostConfigs, removeSslHostConfig, resume, serverSocketAccept, setAcceptCount, setAcceptorThreadPriority, setAddress, setAttribute, setBindOnInit, setConnectionLinger, setConnectionTimeout, setDaemon, setDefaultSSLHostConfigName, setDomain, setExecutor, setExecutorTerminationTimeoutMillis, setHandler, setKeepAliveTimeout, setMaxConnections, setMaxKeepAliveRequests, setMaxQueueSize, setMaxThreads, setMinSpareThreads, setName, setPort, setPortOffset, setProperty, setSniParseLimit, setSocketOptions, setSSLEnabled, setSslImplementationName, setStrictSni, setTcpNoDelay, setThreadPriority, setThreadsMaxIdleTime, setUseAsyncIO, setUseSendfile, setUseVirtualThreads, setUtilityExecutor, shutdownExecutor, start, startAcceptorThread, startInternal, stop, stopInternal, toTimeout, unbind, unlockAccept
-
Constructor Details
-
AbstractNetworkChannelEndpoint
public AbstractNetworkChannelEndpoint()Constructs a new endpoint.
-
-
Method Details
-
getServerSocket
Returns the server socket used by this endpoint.- Returns:
- the server socket
-
createChannel
Creates the channel to be used by this endpoint.- Parameters:
buffer- The buffer handler to use for the channel- Returns:
- the created channel
-
getLocalAddress
Description copied from class:AbstractEndpointObtain the network address the server socket is bound to. This primarily exists to enable the correct address to be used when unlocking the server socket since it removes the guess-work involved if no address is specifically set.- Specified by:
getLocalAddressin classAbstractEndpoint<S extends Channel, U extends NetworkChannel>- Returns:
- The network address that the server socket is listening on or null if the server socket is not currently bound.
- Throws:
IOException- If there is a problem determining the currently bound socket
-