I'm about to deliberately violate the letter of a MUST NOT because I
believe it's overly strict.
"Receivers of a GOAWAY frame MUST NOT open additional streams on the
connection..."
When my server wants to close a connection it sends a GOAWAY with last
stream id set to a value somewhat higher than anything it has received. It
then keeps the connection until the reported last id is reached or enough
time goes by.
When the client gets a GOAWAY it will immediately start establishing a new
connection, continue issuing new requests up to the reported last id, and
close the old connection when it either has a new connection or has used
all the reported streams.
The goal is to avoid suspending requests in a high volume server to server
environment while waiting for new connections. I don't see how it conflicts
with any conforming implementation, am I missing something?
Thanks,
Antonio