Package org.apache.coyote

# Class AbstractProtocol.ConnectionHandler<S>

java.lang.Object
org.apache.coyote.AbstractProtocol.ConnectionHandler<S>

All Implemented Interfaces:
  `AbstractEndpoint.Handler<S>`

Enclosing class:
  AbstractProtocol<S>

protected static class AbstractProtocol.ConnectionHandler<S> extends Object implements AbstractEndpoint.Handler<S>

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.apache.tomcat.util.net.AbstractEndpoint.Handler

`AbstractEndpoint.Handler.SocketState`

## Constructor Summary

Constructors
Constructor
Description
`ConnectionHandler(AbstractProtocol<S> proto)`

## Method Summary

Modifier and Type
Method
Description
`Object`
`getGlobal()`
Obtain the GlobalRequestProcessor associated with the handler.
`protected Log`
`getLog()`
`Set<S>`
`getOpenSockets()`
Obtain the currently open sockets.
`protected AbstractProtocol<S>`
`getProtocol()`
`protected void`
`longPoll(SocketWrapperBase<?> socket, Processor processor)`
`final void`
`pause()`
Inform the handler that the endpoint has stopped accepting any new connections.
`AbstractEndpoint.Handler.SocketState`
`process(SocketWrapperBase<S> wrapper, SocketEvent status)`
Process the provided socket with the given current status.
`void`
`recycle()`
Recycle resources associated with the handler.
`protected void`
`register(Processor processor)`
`void`
`release(SocketWrapperBase<S> socketWrapper)`
Expected to be used by the Endpoint to release resources on socket close, errors etc.
`protected void`
`unregister(Processor processor)`

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

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

## Constructor Details

### ConnectionHandler

public ConnectionHandler(AbstractProtocol<S> proto)

## Method Details

### getProtocol

protected AbstractProtocol<S> getProtocol()

### getLog

protected Log getLog()

### getGlobal

public Object getGlobal()
Description copied from interface: `AbstractEndpoint.Handler`
Obtain the GlobalRequestProcessor associated with the handler.

Specified by:
  `getGlobal` in interface `AbstractEndpoint.Handler<S>`
Returns:
  the GlobalRequestProcessor

### recycle

public void recycle()
Description copied from interface: `AbstractEndpoint.Handler`
Recycle resources associated with the handler.

Specified by:
  `recycle` in interface `AbstractEndpoint.Handler<S>`

### process

public AbstractEndpoint.Handler.SocketState process(SocketWrapperBase<S> wrapper, SocketEvent status)
Description copied from interface: `AbstractEndpoint.Handler`
Process the provided socket with the given current status.

Specified by:
  `process` in interface `AbstractEndpoint.Handler<S>`
Parameters:
  `wrapper` - The socket to process
  `status` - The current socket status
Returns:
  The state of the socket after processing

### longPoll

protected void longPoll(SocketWrapperBase<?> socket, Processor processor)

### getOpenSockets

public Set<S> getOpenSockets()
Description copied from interface: `AbstractEndpoint.Handler`
Obtain the currently open sockets.

Specified by:
  `getOpenSockets` in interface `AbstractEndpoint.Handler<S>`
Returns:
  The sockets for which the handler is tracking a currently open connection

### release

public void release(SocketWrapperBase<S> socketWrapper)
Expected to be used by the Endpoint to release resources on socket close, errors etc.

Specified by:
  `release` in interface `AbstractEndpoint.Handler<S>`
Parameters:
  `socketWrapper` - The socketWrapper to release resources for

### register

protected void register(Processor processor)

### unregister

protected void unregister(Processor processor)

### pause

public final void pause()
Description copied from interface: `AbstractEndpoint.Handler`
Inform the handler that the endpoint has stopped accepting any new connections. Typically, the endpoint will be stopped shortly afterwards but it is possible that the endpoint will be resumed so the handler should not assume that a stop will follow.

Specified by:
  `pause` in interface `AbstractEndpoint.Handler<S>`