Reverted to warning if a small SETTINGS_MAX_HEADER_LIST_SIZE. is received.
Setting it on the httpConfig effects all connections, not just the one the
setting was received from.
Fixed by recycling only channels that have completed normally by
having read the request content and responded.
Channels that don't read the request content won't be recycled, thus
avoiding the NPE.
Introduced ClientConnectionFactory.customize() to look for
Connection.Listener beans.
ClientConnectionFactory implementation calls customize() when they
create a Connection instance, so the Connection.Listener beans are
registered onto the Connection.
Introduced class SslHandshakeListener that can be registered as a
bean in both the ServerConnector and in clients such as HttpClient
and HTTP2Client.
When creating SslConnection instances, the factory will query the
connector (client or server) for SslHandshakeListener beans and, if
present, will be added to the SslConnection.
* Made ProduceExecuteConsume the default ExecutionFactory for HTTP/2.
* Made the HTTP/2 fillable callback non-blocking.
* Introduced configuration for the server initial session recv window.
* Sending a WINDOW_UPDATE frame at session setup to inform the client
about the server session recv window.
This is necessary because the HTTP/1.1 machinery will recycle the
Metadata.Request object, and it may race with a thread dispatch to
the HTTP/2 machinery that will handle the request.
Verify that input data is consumed at the end of a request handling,
either when input is not read and when an exception is thrown,
to make sure that the session flow control is not stalled.
Made sure that the stream idle timeout is reset for every stream read
and write.
Made sure that both the stream and the session idle timeouta are reset
for buffered data reads.
Made sure that the idle timeout mechanism notifies the destination
that the connection will close.
Also reviewed the close protocol to be: notify destination, then abort,
then close. In this way, HTTP/2 can send RST_STREAM before the
connection is closed.
Improved fix, notifying the response.success event using a
CompletableCallback to avoid that HttpReceiver.responseContent()
fails the update from ResponseState.TRANSIENT.