swift-nio-http2
swift-nio-http2 copied to clipboard
`NIOHTTP2Handler` should handle `ChannelShouldQuiesceEvent`
trafficstars
SwiftNIOExtras offers a QuiescingHelper to gracefully shutdown servers. NIOHTTP2Handler should support shutting down a server connection, when the QuiescingHelper sends out a ChannelShouldQuiesceEvent:
- Once
NIOHTTP2Handlerreceives aChannelShouldQuiesceEventa GoAway frame should be send to the client and new incoming streams should be rejected. - Once all previously open streams have finished the connection should be closed.
In NIOHTTP1 the ChannelShouldQuiesceEvent support is implemented in HTTPServerPipelineHandler
Hmm maybe this is why I was having issues performing a soft-restart of a HTTP/2 Vapor server. I remember seeing quiesce/shutdown errors.