# 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()`
`default boolean`
`hasAsyncIO()`
`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 jakarta.servlet.http.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()

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