Package org.apache.coyote.http11.upgrade
Class UpgradeProcessorInternal
- java.lang.Object
-
- org.apache.coyote.AbstractProcessorLight
-
- org.apache.coyote.http11.upgrade.UpgradeProcessorBase
-
- org.apache.coyote.http11.upgrade.UpgradeProcessorInternal
-
- All Implemented Interfaces:
WebConnection
,java.lang.AutoCloseable
,Processor
public class UpgradeProcessorInternal extends UpgradeProcessorBase
-
-
Field Summary
-
Fields inherited from class org.apache.coyote.http11.upgrade.UpgradeProcessorBase
INFINITE_TIMEOUT
-
-
Constructor Summary
Constructors Constructor Description UpgradeProcessorInternal(SocketWrapperBase<?> wrapper, UpgradeToken upgradeToken, UpgradeGroupInfo upgradeGroupInfo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
AbstractEndpoint.Handler.SocketState
dispatch(SocketEvent status)
Process an in-progress request that is not longer in standard HTTP mode.ServletInputStream
getInputStream()
Provides access to theServletInputStream
for reading data from the client.protected Log
getLog()
ServletOutputStream
getOutputStream()
Provides access to theServletOutputStream
for writing data to the client.boolean
hasAsyncIO()
void
pause()
Informs the processor that the underlying I/O layer has stopped accepting new connections.void
setSslSupport(SSLSupport sslSupport)
Set the SSL information for this HTTP connection.void
timeoutAsync(long now)
Check this processor to see if the timeout has expired and process a timeout if that is that case.-
Methods inherited from class org.apache.coyote.http11.upgrade.UpgradeProcessorBase
asyncPostProcess, checkAsyncTimeoutGeneration, getLeftoverInput, getRequest, getUpgradeToken, isAsync, isUpgrade, recycle, service
-
Methods inherited from class org.apache.coyote.AbstractProcessorLight
addDispatch, clearDispatches, getIteratorAndClearDispatches, logAccess, process
-
-
-
-
Constructor Detail
-
UpgradeProcessorInternal
public UpgradeProcessorInternal(SocketWrapperBase<?> wrapper, UpgradeToken upgradeToken, UpgradeGroupInfo upgradeGroupInfo)
-
-
Method Detail
-
dispatch
public AbstractEndpoint.Handler.SocketState dispatch(SocketEvent status)
Description copied from class:AbstractProcessorLight
Process an in-progress request that is not longer in standard HTTP mode. Uses currently include Servlet 3.0 Async and HTTP upgrade connections. Further uses may be added in the future. These will typically start as HTTP requests.- Specified by:
dispatch
in classAbstractProcessorLight
- Parameters:
status
- The event to process- Returns:
- The state the caller should put the socket in when this method returns
-
setSslSupport
public final void setSslSupport(SSLSupport sslSupport)
Description copied from interface:Processor
Set the SSL information for this HTTP connection.- Parameters:
sslSupport
- The SSL support object to use for this connection
-
pause
public void pause()
Description copied from interface:Processor
Informs the processor that the underlying I/O layer has stopped accepting new connections. This is primarily intended to enable processors that use multiplexed connections to prevent further 'streams' being added to an existing multiplexed connection.
-
getLog
protected Log getLog()
- Specified by:
getLog
in classAbstractProcessorLight
-
timeoutAsync
public void timeoutAsync(long now)
Description copied from interface:Processor
Check this processor to see if the timeout has expired and process a timeout if that is that case.Note: The name of this method originated with the Servlet 3.0 asynchronous processing but evolved over time to represent a timeout that is triggered independently of the socket read/write timeouts.
- Specified by:
timeoutAsync
in interfaceProcessor
- Overrides:
timeoutAsync
in classUpgradeProcessorBase
- Parameters:
now
- The time (as returned bySystem.currentTimeMillis()
to use as the current time to determine whether the timeout has expired. If negative, the timeout will always be treated as ifq it has expired.
-
hasAsyncIO
public boolean hasAsyncIO()
-
close
public void close() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getInputStream
public ServletInputStream getInputStream() throws java.io.IOException
Description copied from interface:jakarta.servlet.http.WebConnection
Provides access to theServletInputStream
for reading data from the client.- Returns:
- the input stream
- Throws:
java.io.IOException
- If an I/O occurs while obtaining the stream
-
getOutputStream
public ServletOutputStream getOutputStream() throws java.io.IOException
Description copied from interface:jakarta.servlet.http.WebConnection
Provides access to theServletOutputStream
for writing data to the client.- Returns:
- the output stream
- Throws:
java.io.IOException
- If an I/O occurs while obtaining the stream
-
-