org.jboss.netty.channel

## Interface ChannelSink

All Known Implementing Classes:
  AbstractChannelSink, AbstractNioChannelSink, AbstractOioChannelSink

    public interface ChannelSink

Receives and processes the terminal downstream `ChannelEvent`s.

A `ChannelSink` is an internal component which is supposed to be implemented by a transport provider. Most users will not see this type in their code.

### Method Summary

Methods
`void` `eventSunk(ChannelPipeline pipeline, ChannelEvent e)` Invoked by `ChannelPipeline` when a downstream `ChannelEvent` has reached its terminal (the head of the pipeline).
`void` `exceptionCaught(ChannelPipeline pipeline, ChannelEvent e, ChannelPipelineException cause)` Invoked by `ChannelPipeline` when an exception was raised while one of its `ChannelHandler`s process a `ChannelEvent`.
`ChannelFuture` `execute(ChannelPipeline pipeline, Runnable task)` Execute the given `Runnable` later in the io-thread.

### Method Detail

#### eventSunk

    void eventSunk(ChannelPipeline pipeline,
                 ChannelEvent e)
                   throws Exception

Invoked by `ChannelPipeline` when a downstream `ChannelEvent` has reached its terminal (the head of the pipeline).

Throws:
  `Exception`

#### exceptionCaught

    void exceptionCaught(ChannelPipeline pipeline,
                       ChannelEvent e,
                       ChannelPipelineException cause)
                         throws Exception

Invoked by `ChannelPipeline` when an exception was raised while one of its `ChannelHandler`s process a `ChannelEvent`.

Throws:
  `Exception`

#### execute

    ChannelFuture execute(ChannelPipeline pipeline,
                        Runnable task)

Execute the given `Runnable` later in the io-thread. Some implementation may not support this and just execute it directly.