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:
parent
ec8e8bd515
commit
3f6af1fc1d
@ -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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user