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 java.lang.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
`ConnectionHandler​(AbstractProtocol<S> proto)`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.Object` `getGlobal()` Obtain the GlobalRequestProcessor associated with the handler.
`protected Log` `getLog()`
`java.util.Set<S>` `getOpenSockets()` Obtain the currently open sockets.
`protected AbstractProtocol<S>` `getProtocol()`
`protected void` `longPoll​(SocketWrapperBase<?> socket, Processor processor)`
`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 Detail

#### ConnectionHandler

    public ConnectionHandler​(AbstractProtocol<S> proto)

### Method Detail

#### getProtocol

    protected AbstractProtocol<S> getProtocol()

#### getLog

    protected Log getLog()

#### getGlobal

    public java.lang.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 java.util.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>`