# 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 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)`
  Release any resources associated with the given SocketWrapper.
  `protected void`
  `unregister(Processor processor)`

  ### Methods inherited from class 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)
    Description copied from interface: `AbstractEndpoint.Handler`
    Release any resources associated with the given SocketWrapper.
    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>`