Class AsyncContextImpl

java.lang.Object
io.undertow.servlet.spec.AsyncContextImpl
All Implemented Interfaces:
javax.servlet.AsyncContext

public class AsyncContextImpl extends Object implements javax.servlet.AsyncContext
Author:
Stuart Douglas
  • 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 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
    • isInitialRequestDone

      public boolean isInitialRequestDone()
    • dispatch

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

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

      public void dispatch(javax.servlet.ServletContext context, 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(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(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(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(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