Package io.undertow.servlet.spec
Class AsyncContextImpl
java.lang.Object
io.undertow.servlet.spec.AsyncContextImpl
- All Implemented Interfaces:
javax.servlet.AsyncContext
- Author:
- Stuart Douglas
-
Field Summary
Fields inherited from interface javax.servlet.AsyncContext
ASYNC_CONTEXT_PATH, ASYNC_MAPPING, ASYNC_PATH_INFO, ASYNC_QUERY_STRING, ASYNC_REQUEST_URI, ASYNC_SERVLET_PATH
-
Constructor Summary
ConstructorsConstructorDescriptionAsyncContextImpl
(io.undertow.server.HttpServerExchange exchange, javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, ServletRequestContext servletRequestContext, boolean requestSupplied, AsyncContextImpl previousAsyncContext) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAsyncTask
(Runnable runnable) Adds a task to be run to the async context.void
addListener
(javax.servlet.AsyncListener listener) void
addListener
(javax.servlet.AsyncListener listener, javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse) void
complete()
void
completeInternal
(boolean forceComplete) <T extends javax.servlet.AsyncListener>
TcreateListener
(Class<T> clazz) void
dispatch()
void
void
javax.servlet.ServletRequest
javax.servlet.ServletResponse
long
void
void
handleError
(Throwable error) boolean
void
Called by the container when the initial request is finished.void
boolean
boolean
boolean
void
setTimeout
(long timeout) void
void
-
Constructor Details
-
AsyncContextImpl
public AsyncContextImpl(io.undertow.server.HttpServerExchange exchange, javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, ServletRequestContext servletRequestContext, boolean requestSupplied, AsyncContextImpl previousAsyncContext)
-
-
Method Details
-
updateTimeout
public void updateTimeout() -
getRequest
public javax.servlet.ServletRequest getRequest()- Specified by:
getRequest
in interfacejavax.servlet.AsyncContext
-
getResponse
public javax.servlet.ServletResponse getResponse()- Specified by:
getResponse
in interfacejavax.servlet.AsyncContext
-
hasOriginalRequestAndResponse
public boolean hasOriginalRequestAndResponse()- Specified by:
hasOriginalRequestAndResponse
in interfacejavax.servlet.AsyncContext
-
isInitialRequestDone
public boolean isInitialRequestDone() -
dispatch
public void dispatch()- Specified by:
dispatch
in interfacejavax.servlet.AsyncContext
-
dispatch
- Specified by:
dispatch
in interfacejavax.servlet.AsyncContext
-
dispatch
- Specified by:
dispatch
in interfacejavax.servlet.AsyncContext
-
complete
public void complete()- Specified by:
complete
in interfacejavax.servlet.AsyncContext
-
completeInternal
public void completeInternal(boolean forceComplete) -
start
- Specified by:
start
in interfacejavax.servlet.AsyncContext
-
addListener
public void addListener(javax.servlet.AsyncListener listener) - Specified by:
addListener
in interfacejavax.servlet.AsyncContext
-
addListener
public void addListener(javax.servlet.AsyncListener listener, javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse) - Specified by:
addListener
in interfacejavax.servlet.AsyncContext
-
isDispatched
public boolean isDispatched() -
isCompletedBeforeInitialRequestDone
public boolean isCompletedBeforeInitialRequestDone() -
createListener
public <T extends javax.servlet.AsyncListener> T createListener(Class<T> clazz) throws javax.servlet.ServletException - Specified by:
createListener
in interfacejavax.servlet.AsyncContext
- Throws:
javax.servlet.ServletException
-
setTimeout
public void setTimeout(long timeout) - Specified by:
setTimeout
in interfacejavax.servlet.AsyncContext
-
getTimeout
public long getTimeout()- Specified by:
getTimeout
in interfacejavax.servlet.AsyncContext
-
handleError
-
initialRequestDone
public void initialRequestDone()Called by the container when the initial request is finished. If this request has a dispatch or complete call pending then this will be started. -
initialRequestFailed
public void initialRequestFailed() -
handleCompletedBeforeInitialRequestDone
public void handleCompletedBeforeInitialRequestDone() -
addAsyncTask
Adds a task to be run to the async context. These tasks are run one at a time, after the initial request is finished. If the request is dispatched before the initial request is complete then these tasks will not be runThis method is intended to be used to queue read and write tasks for async streams, to make sure that multiple threads do not end up working on the same exchange at once
- Parameters:
runnable
- The runnable
-