class Http2ConnectionHandler extends ByteToMessageDecoder implements Http2LifecycleManager, ChannelOutboundHandler {

  @Override
  public void exceptionCaught(final ChannelHandlerContext ctx, final Throwable cause)
      throws Exception {
    if (Http2CodecUtil.getEmbeddedHttp2Exception(cause) != null) {
      // Some exception in the causality chain is an Http2Exception - handle it.
      onError(ctx, false, cause);
    } else {
      super.exceptionCaught(ctx, cause);
    }
  }

  protected  Http2ConnectionHandler(
      final Http2ConnectionDecoder decoder,
      final Http2ConnectionEncoder encoder,
      final Http2Settings initialSettings);
  protected  Http2ConnectionHandler(
      final Http2ConnectionDecoder decoder,
      final Http2ConnectionEncoder encoder,
      final Http2Settings initialSettings,
      final boolean decoupleCloseAndGoAway);

}