code: private ChannelFuture goAway(ChannelHandlerContext ctx, Http2Exception cause, ChannelPromise promise) {
          long errorCode = cause != null ? cause.error().code() : NO_ERROR.code();
          int lastKnownStream = connection().remote().lastStreamCreated();
          return goAway(ctx, lastKnownStream, errorCode, Http2CodecUtil.toByteBuf(ctx, cause), promise);
      }
docs: Close the remote endpoint with with a {@code GO_AWAY} frame. Does <strong>not</strong> flush
  immediately, this is the responsibility of the caller.