Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
HTTP/2 should forward shutdown user events to active streams (#13394)
Motivation: The following 4 user events mean that one of the sides of the parent channel is shutdown. `Http2MultiplexHandler` and `Http2MultiplexCodec` should propagate those events to all active streams to let them identify if they still can complete or not. For example, streams that didn't receive `endStream` flag can decide to close if they observe one of these events. These events should still propagate forward through the parent channel pipeline. Modifications: - Create `Http2FrameStreamVisitor`s for `ChannelInputShutdownEvent`, `ChannelInputShutdownReadComplete`, `ChannelOutputShutdownEvent`, `SslCloseCompletionEvent`; - Propagate these events to all active streams of `Http2MultiplexHandler` and `Http2MultiplexCodec`; - Add a test to validate new behavior; Result: Active child streams can observe when the parent channel's input or output is shutdown or if it received `close_notify`.
- Loading branch information