Skip to content

Commit

Permalink
HTTP/2 should forward shutdown user events to active streams (#13394)
Browse files Browse the repository at this point in the history
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
idelpivnitskiy committed May 23, 2023
1 parent fc58d2d commit 3d8ff07
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit 3d8ff07

Please sign in to comment.