Class Acceptor<U>

  • Type Parameters:
    U - the type of the socket
    All Implemented Interfaces:
    java.lang.Runnable
    Direct Known Subclasses:
    Nio2Endpoint.Nio2Acceptor

    public class Acceptor<U>
    extends java.lang.Object
    implements java.lang.Runnable
    Acceptor thread that accepts incoming connections.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Acceptor.AcceptorState
      States of the acceptor lifecycle.
    • Constructor Summary

      Constructors 
      Constructor Description
      Acceptor​(AbstractEndpoint<?,​U> endpoint)
      Constructs a new Acceptor.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      Acceptor.AcceptorState getState()
      Returns the current state of the acceptor.
      protected int handleExceptionWithDelay​(int currentErrorDelay)
      Handles exceptions where a delay is required to prevent a Thread from entering a tight loop which will consume CPU and may also trigger large amounts of logging.
      void run()  
      void stop()
      Deprecated.
      This method will be removed in Tomcat 10.1.x onwards.
      void stop​(int waitSeconds)
      Deprecated.
      Unused.
      void stopMillis​(int waitMilliseconds)
      Stops the acceptor, optionally waiting for it to finish.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Acceptor

        public Acceptor​(AbstractEndpoint<?,​U> endpoint)
        Constructs a new Acceptor.
        Parameters:
        endpoint - The endpoint associated with this acceptor
    • Method Detail

      • getState

        public final Acceptor.AcceptorState getState()
        Returns the current state of the acceptor.
        Returns:
        The current acceptor state
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
      • stop

        @Deprecated
        public void stop()
        Deprecated.
        This method will be removed in Tomcat 10.1.x onwards. Use stop(int) instead.
        Signals the Acceptor to stop, waiting at most 10 seconds for the stop to complete before returning. If the stop does not complete in that time a warning will be logged.
      • stop

        @Deprecated
        public void stop​(int waitSeconds)
        Deprecated.
        Unused. Will be remove in Tomcat 11 onwards.
        Signals the Acceptor to stop, optionally waiting for that stop process to complete before returning. If a wait is requested and the stop does not complete in that time a warning will be logged.
        Parameters:
        waitSeconds - The time to wait in seconds. Use a value less than zero for no wait.
      • stopMillis

        public void stopMillis​(int waitMilliseconds)
        Stops the acceptor, optionally waiting for it to finish.
        Parameters:
        waitMilliseconds - The number of milliseconds to wait for the acceptor to stop
      • handleExceptionWithDelay

        protected int handleExceptionWithDelay​(int currentErrorDelay)
        Handles exceptions where a delay is required to prevent a Thread from entering a tight loop which will consume CPU and may also trigger large amounts of logging. For example, this can happen if the ulimit for open files is reached.
        Parameters:
        currentErrorDelay - The current delay being applied on failure
        Returns:
        The delay to apply on the next failure