Graceful shutdown #458

The shutting down state machine currently looks something like this:

  accepting requests
    --[GOAWAY]-> not accepting requests
    --[TCP FIN]-> closed

And during the "not accepting requests" state, it may be that some
requests are lost.  You will have to check that each request made it.

I proposed (and Daniel provided pull #475) to not change this state
machine, but to exploit the nature of the first transition, and
repeating the GOAWAY frame.

Roberto would prefer that we create a new state in the flow:

  accepting requests
    --[DRAINING]-> about to stop accepting requests
    --[GOAWAY]-> not accepting requests
    --[TCP FIN]-> closed

I note that this DRAINING frame looks similar in function to ALTSVC.

If this summary is accurate, and in the absence of new information, I
think that the best plan for this is to close at the interim, once we
have more feedback from implementations.

Received on Thursday, 8 May 2014 21:55:35 UTC