# Interface InternalHttpUpgradeHandler

All Superinterfaces:
  `HttpUpgradeHandler`

All Known Implementing Classes:
  `Http2AsyncUpgradeHandler, WsHttpUpgradeHandler`

public interface InternalHttpUpgradeHandler extends HttpUpgradeHandler
This Tomcat specific interface is implemented by handlers that require direct access to Tomcat's I/O layer rather than going through the Servlet API.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default UpgradeInfo`
  `getUpgradeInfo()`
  Returns the associated upgrade information used to collect statistics for the connection.
  `default boolean`
  `hasAsyncIO()`
  Checks if the handler is able to process asynchronous IO.
  `void`
  `pause()`
  Pause processing for the connection.
  `void`
  `setSocketWrapper(SocketWrapperBase<?> wrapper)`
  Associate with the specified socket.
  `void`
  `setSslSupport(SSLSupport sslSupport)`
  Associate with the specified SSL support.
  `void`
  `timeoutAsync(long now)`
  Check for a possible timeout.
  `AbstractEndpoint.Handler.SocketState`
  `upgradeDispatch(SocketEvent status)`
  Process the specified event.

  ### Methods inherited from interface HttpUpgradeHandler

  `destroy, init`

- ## Method Details

  - ### upgradeDispatch

    AbstractEndpoint.Handler.SocketState upgradeDispatch(SocketEvent status)
    Process the specified event.
    Parameters:
      `status` - the event
    Returns:
      the status following the event

  - ### timeoutAsync

    void timeoutAsync(long now)
    Check for a possible timeout.
    Parameters:
      `now` - the time to use for the timeout check

  - ### setSocketWrapper

    void setSocketWrapper(SocketWrapperBase<?> wrapper)
    Associate with the specified socket.
    Parameters:
      `wrapper` - the socket

  - ### setSslSupport

    void setSslSupport(SSLSupport sslSupport)
    Associate with the specified SSL support.
    Parameters:
      `sslSupport` - the SSL support

  - ### pause

    void pause()
    Pause processing for the connection.

  - ### hasAsyncIO

    default boolean hasAsyncIO()
    Checks if the handler is able to process asynchronous IO.
    Returns:
      `true` if able to process asynchronous IO, default is `false`

  - ### getUpgradeInfo

    default UpgradeInfo getUpgradeInfo()
    Returns the associated upgrade information used to collect statistics for the connection.
    Returns:
      the associated upgrade information used to collect statistics for the connection