Remember to return writability events to flow controller in HTTP2 Multiplexer (#9642)

Motivation:

Http2MultiplexCodec extends Http2FrameCodec extends Http2ConnectionHandler.  It appears  Http2MultiplexCodec overrode the channelWritabilityChanged method, which prevented the flow controller from becoming active.  In the case the parent channel becomes unwritable, and then later becomes writable, it needs to indicate that the child channels can still write data.   This is slightly confusing, because the child channels may still themselves be unwritable, but should still drain their data to the parent channel.

Modification:

Still propagate writability changes to the HTTP/2 flow controller

Result:

Fixes https://github.com/netty/netty/issues/9636
This commit is contained in:
Carl Mastrangelo 2019-10-08 07:40:23 -07:00 committed by Norman Maurer
parent ec8e8bd515
commit 3f6af1fc1d

View File

@ -273,7 +273,7 @@ public class Http2MultiplexCodec extends Http2FrameCodec {
forEachActiveStream(AbstractHttp2StreamChannel.WRITABLE_VISITOR); forEachActiveStream(AbstractHttp2StreamChannel.WRITABLE_VISITOR);
} }
ctx.fireChannelWritabilityChanged(); super.channelWritabilityChanged(ctx);
} }
final void flush0(ChannelHandlerContext ctx) { final void flush0(ChannelHandlerContext ctx) {