Class AsyncContextImpl

  • All Implemented Interfaces:
    javax.servlet.AsyncContext

    public class AsyncContextImpl
    extends java.lang.Object
    implements javax.servlet.AsyncContext
    Author:
    Stuart Douglas
    • Constructor Detail

      • AsyncContextImpl

        public AsyncContextImpl​(io.undertow.server.HttpServerExchange exchange,
                                javax.servlet.ServletRequest servletRequest,
                                javax.servlet.ServletResponse servletResponse,
                                ServletRequestContext servletRequestContext,
                                boolean requestSupplied,
                                AsyncContextImpl previousAsyncContext)
    • Method Detail

      • updateTimeout

        public void updateTimeout()
      • getRequest

        public javax.servlet.ServletRequest getRequest()
        Specified by:
        getRequest in interface javax.servlet.AsyncContext
      • getResponse

        public javax.servlet.ServletResponse getResponse()
        Specified by:
        getResponse in interface javax.servlet.AsyncContext
      • hasOriginalRequestAndResponse

        public boolean hasOriginalRequestAndResponse()
        Specified by:
        hasOriginalRequestAndResponse in interface javax.servlet.AsyncContext
      • dispatch

        public void dispatch()
        Specified by:
        dispatch in interface javax.servlet.AsyncContext
      • dispatch

        public void dispatch​(java.lang.String path)
        Specified by:
        dispatch in interface javax.servlet.AsyncContext
      • dispatch

        public void dispatch​(javax.servlet.ServletContext context,
                             java.lang.String path)
        Specified by:
        dispatch in interface javax.servlet.AsyncContext
      • complete

        public void complete()
        Specified by:
        complete in interface javax.servlet.AsyncContext
      • completeInternal

        public void completeInternal​(boolean forceComplete)
      • start

        public void start​(java.lang.Runnable run)
        Specified by:
        start in interface javax.servlet.AsyncContext
      • addListener

        public void addListener​(javax.servlet.AsyncListener listener)
        Specified by:
        addListener in interface javax.servlet.AsyncContext
      • addListener

        public void addListener​(javax.servlet.AsyncListener listener,
                                javax.servlet.ServletRequest servletRequest,
                                javax.servlet.ServletResponse servletResponse)
        Specified by:
        addListener in interface javax.servlet.AsyncContext
      • isDispatched

        public boolean isDispatched()
      • isCompletedBeforeInitialRequestDone

        public boolean isCompletedBeforeInitialRequestDone()
      • createListener

        public <T extends javax.servlet.AsyncListener> T createListener​(java.lang.Class<T> clazz)
                                                                 throws javax.servlet.ServletException
        Specified by:
        createListener in interface javax.servlet.AsyncContext
        Throws:
        javax.servlet.ServletException
      • setTimeout

        public void setTimeout​(long timeout)
        Specified by:
        setTimeout in interface javax.servlet.AsyncContext
      • getTimeout

        public long getTimeout()
        Specified by:
        getTimeout in interface javax.servlet.AsyncContext
      • handleError

        public void handleError​(java.lang.Throwable error)
      • 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

        public void addAsyncTask​(java.lang.Runnable runnable)
        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 run

        This 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