org.eclipse.jetty.io

## Interface Connection

All Known Subinterfaces:
  AsyncConnection, WebSocketConnection, WebSocketServletConnection

All Known Implementing Classes:
  AbstractConnection, AbstractHttpConnection, AbstractHttpConnection, Ajp13Connection, AsyncHttpConnection, AsyncHttpConnection, BlockingHttpConnection, BlockingHttpConnection, ConnectHandler.ClientToProxyConnection, ConnectHandler.ProxyToServerConnection, NestedConnection, SslConnection, WebSocketConnectionD00, WebSocketConnectionD06, WebSocketConnectionD08, WebSocketConnectionRFC6455, WebSocketServletConnectionD00, WebSocketServletConnectionD06, WebSocketServletConnectionD08, WebSocketServletConnectionRFC6455

    public interface Connection

Abstract Connection used by Jetty Connectors.

Jetty will call the handle method of a connection when there is work to be done on the connection. For blocking connections, this is soon as the connection is open and handle will keep being called until the connection is closed. For non-blocking connections, handle will only be called if there are bytes to be read or the connection becomes writable after being write blocked.

See Also:
  `SelectorManager`

### Method Summary

Methods
`long` `getTimeStamp()`
`Connection` `handle()` Handle the connection.
`boolean` `isIdle()`
`boolean` `isSuspended()` The semantic of this method is to return true to indicate interest in further reads, or false otherwise, but it is misnamed and should be really called `isReadInterested()`.
`void` `onClose()` Called after the connection is closed
`void` `onIdleExpired(long idleForMs)` Called when the connection idle timeout expires

### Method Detail

#### handle

    Connection handle()
                      throws IOException

Handle the connection.

Returns:
  The Connection to use for the next handling of the connection. This allows protocol upgrades and support for CONNECT.
Throws:
  `IOException` - if the handling of I/O operations fail

#### getTimeStamp

    long getTimeStamp()

Returns:
  the timestamp at which the connection was created

#### isIdle

    boolean isIdle()

Returns:
  whether this connection is idle, that is not parsing and not generating
See Also:
  `onIdleExpired(long)`

#### isSuspended

    boolean isSuspended()

The semantic of this method is to return true to indicate interest in further reads, or false otherwise, but it is misnamed and should be really called `isReadInterested()`.

Returns:
  true to indicate interest in further reads, false otherwise

#### onClose

    void onClose()

Called after the connection is closed

#### onIdleExpired

    void onIdleExpired(long idleForMs)

Called when the connection idle timeout expires

Parameters:
  `idleForMs` - how long the connection has been idle
See Also:
  `isIdle()`