org.apache.http.impl.nio.reactor

## Class AbstractIODispatch<T>

- java.lang.Object
- - org.apache.http.impl.nio.reactor.AbstractIODispatch<T>

Type Parameters:
  `T` - the connection type.

All Implemented Interfaces:
  IOEventDispatch

Direct Known Subclasses:
  DefaultClientIOEventDispatch, DefaultHttpClientIODispatch, DefaultHttpServerIODispatch, DefaultServerIOEventDispatch

    @Immutable
    public abstract class AbstractIODispatch<T>
    extends Object
    implements IOEventDispatch

Abstract `IOEventDispatch` implementation that supports both plain (non-encrypted) and SSL encrypted HTTP connections.

Since:
  4.2

### Field Summary

### Fields inherited from interface org.apache.http.nio.reactor.IOEventDispatch

`CONNECTION_KEY`

### Constructor Summary

Constructors
Constructor and Description
`AbstractIODispatch()`

### Method Summary

Methods
`void` `connected(IOSession session)` Triggered after the given session has been just created.
`protected abstract T` `createConnection(IOSession session)`
`void` `disconnected(IOSession session)` Triggered when the given session has been terminated.
`void` `inputReady(IOSession session)` Triggered when the given session has input pending.
`protected abstract void` `onClosed(T conn)`
`protected abstract void` `onConnected(T conn)`
`protected abstract void` `onException(T conn, IOException ex)`
`protected abstract void` `onInputReady(T conn)`
`protected abstract void` `onOutputReady(T conn)`
`protected abstract void` `onTimeout(T conn)`
`void` `outputReady(IOSession session)` Triggered when the given session is ready for output.
`void` `timeout(IOSession session)` Triggered when the given session as timed out.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### AbstractIODispatch

    public AbstractIODispatch()

### Method Detail

#### createConnection

    protected abstract T createConnection(IOSession session)

#### onConnected

    protected abstract void onConnected(T conn)

#### onClosed

    protected abstract void onClosed(T conn)

#### onException

    protected abstract void onException(T conn,
                   IOException ex)

#### onInputReady

    protected abstract void onInputReady(T conn)

#### onOutputReady

    protected abstract void onOutputReady(T conn)

#### onTimeout

    protected abstract void onTimeout(T conn)

#### connected

    public void connected(IOSession session)

Description copied from interface: `IOEventDispatch`
Triggered after the given session has been just created.

Specified by:
  `connected` in interface `IOEventDispatch`
Parameters:
  `session` - the I/O session.

#### disconnected

    public void disconnected(IOSession session)

Description copied from interface: `IOEventDispatch`
Triggered when the given session has been terminated.

Specified by:
  `disconnected` in interface `IOEventDispatch`
Parameters:
  `session` - the I/O session.

#### inputReady

    public void inputReady(IOSession session)

Description copied from interface: `IOEventDispatch`
Triggered when the given session has input pending.

Specified by:
  `inputReady` in interface `IOEventDispatch`
Parameters:
  `session` - the I/O session.

#### outputReady

    public void outputReady(IOSession session)

Description copied from interface: `IOEventDispatch`
Triggered when the given session is ready for output.

Specified by:
  `outputReady` in interface `IOEventDispatch`
Parameters:
  `session` - the I/O session.

#### timeout

    public void timeout(IOSession session)

Description copied from interface: `IOEventDispatch`
Triggered when the given session as timed out.

Specified by:
  `timeout` in interface `IOEventDispatch`
Parameters:
  `session` - the I/O session.