@Override
protected void channelRead(final C connection, final ContextImpl context, final ChannelHandlerContext chctx, final Object msg) throws Exception {
if (msg instanceof HttpObject) {
DecoderResult result = ((HttpObject) msg).getDecoderResult();
if (result.isFailure()) {
chctx.pipeline().fireExceptionCaught(result.cause());
return;
}
}
if (connection != null) {
context.executeSync(() -> doMessageReceived(connection, chctx, msg));