Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Triggering IConnectionLifetimeNotificationFeature on GoAway #43431

Merged
merged 1 commit into from
Sep 20, 2022

Commits on Sep 16, 2022

  1. Triggering Connection Lifetime Notification Feature's cancellation on…

    … GoAway
    
    On GoAway frames triggering `IConnectionLifetimeNotificationFeature`'s cancellation for gRPC and SignalR to initiate teardown of long running requests.
    
    ## Description
    
    For Kestrel h2 and h3 triggering `IConnectionLifetimeNotificationFeature` feature's *RequestClose()* method on GoAway frames, so that frameworks like SignalR or gRPC may proactively start closing long running request.
    h3 control stream (which is the only stream that handles GoAway) also calls *StopProcessingNextRequest()* method otherwise `HttpConnection` (subscribed to `IConnectionLifetimeNotificationFeature`) would send GoAway's from server. h2 already does the same.
    
    Adding new tests: `Http3InMemory` now implements *RequestClose()* method and `Http2TestBase` mimics sharing the same feature collection on ConnectionFeatures and by the Connection's Features properties.
    
    Fixes dotnet#42057
    ladeak committed Sep 16, 2022
    Configuration menu
    Copy the full SHA
    948cb5b View commit details
    Browse the repository at this point in the history