Class AsyncContextImpl

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

public class AsyncContextImpl extends Object implements jakarta.servlet.AsyncContext
Author:
Stuart Douglas
  • Constructor Details

    • AsyncContextImpl

      public AsyncContextImpl(HttpServerExchange exchange, jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, ServletRequestContext servletRequestContext, boolean requestSupplied, AsyncContextImpl previousAsyncContext)
  • Method Details

    • updateTimeout

      public void updateTimeout()
    • getRequest

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

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

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

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

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

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

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

      public void completeInternal(boolean forceComplete)
    • start

      public void start(Runnable run)
      Specified by:
      start in interface jakarta.servlet.AsyncContext
    • addListener

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

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

      public boolean isDispatched()
    • isCompletedBeforeInitialRequestDone

      public boolean isCompletedBeforeInitialRequestDone()
    • createListener

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

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

      public long getTimeout()
      Specified by:
      getTimeout in interface jakarta.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.
    • 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