Handlers
Although handlers are very similar to adapters, their conceptual purpose is different: to handle data. That means the handler is the final destination of the data and any business logic should be applied here and not on an adapter. Handlers are executed at the end of the pipeline and as such, they don't forward data. But unlike adapters, multiple handlers can be executed over the same data.
graph LR;
in[/Data In/] --> H1[Handler]
in -.-> H2[Handler]
Implementing an Handler
Similarly to adapters, unless you have very specific needs, you should inherit your handler from the ChannelHandler<T>
class and not implementing the IChannelHandler
interface directly.