# Class Acceptor<U>

java.lang.Object
org.apache.tomcat.util.net.Acceptor<U>

All Implemented Interfaces:
  `Runnable`

Direct Known Subclasses:
  `Nio2Endpoint.Nio2Acceptor`

public class Acceptor<U> extends Object implements Runnable

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`Acceptor.AcceptorState`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Acceptor.AcceptorState`
`state`

## Constructor Summary

Constructors
Constructor
Description
`Acceptor(AbstractEndpoint<?,U> endpoint)`

## Method Summary

Modifier and Type
Method
Description
`final Acceptor.AcceptorState`
`getState()`
`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)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### state

protected volatile Acceptor.AcceptorState state

## Constructor Details

### Acceptor

public Acceptor(AbstractEndpoint<?,U> endpoint)

## Method Details

### getState

public final Acceptor.AcceptorState getState()

### run

public void run()

Specified by:
  `run` in interface `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)

### 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