private void immediate(Channel parent, ChannelPromise promise) {
        if (parent.isActive()) {
            parent.close().addListener(new DelegatingChannelPromiseNotifier(promise));
        } else {
            promise.setSuccess();
        }
    }
WARNING: Found the OkHttp client gets confused by this behaviour (it ends up putting itself in a bad shutdown state
after receiving the first goaway frame, and then dropping any inflight responses but also timing out waiting for them).

And worried that other http/2 stacks may be similar, so for now we should NOT use this.

This is unfortunate, as FTL wanted this, and it is correct according to the spec.

See this code in okhttp where it drops response header frame if state is already shutdown:
https://github.com/square/okhttp/blob/master/okhttp/src/main/java/okhttp3/internal/http2/Http2Connection.java#L609
zuul-core/src/main/java/com/netflix/netty/common/Http2ConnectionCloseHandler.java