Commit Graph

446 Commits

Author SHA1 Message Date
Jesse McConnell ae931538ab [maven-release-plugin] prepare for next development iteration 2016-06-22 13:59:10 -05:00
Jesse McConnell df1ed4fb03 [maven-release-plugin] prepare release jetty-9.3.11.M0 2016-06-22 13:59:06 -05:00
Jesse McConnell 030ec61837 [maven-release-plugin] prepare for next development iteration 2016-06-22 09:14:25 -05:00
Jesse McConnell 9a4cb41122 [maven-release-plugin] prepare release jetty-9.3.11.M0 2016-06-22 09:14:21 -05:00
Jesse McConnell e7034117ea [maven-release-plugin] prepare for next development iteration 2016-06-21 08:50:13 -05:00
Jesse McConnell 16c435c69d [maven-release-plugin] prepare release jetty-9.3.10.v20160621 2016-06-21 08:50:09 -05:00
Simone Bordet 442a7ce8cc Improved logging. 2016-06-20 23:10:44 +02:00
Simone Bordet fdd1cd1e94 Fixes #647 - HTTP/2 CONTINUATION frame parsing throws IllegalStateException.
Added the missing "break" statement.
2016-06-17 11:53:58 +02:00
Simone Bordet 9d9f68da08 Reduced logging level for MAX_HEADER_LIST_SIZE. 2016-06-17 10:25:45 +02:00
Simone Bordet f3a805887e Fixes #542 - Support Connection.Listener bean on clients.
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.
2016-05-25 19:27:08 +02:00
Simone Bordet f6098497c0 Explicitly setting the EndPoint idle timeout in case
HttpClient.idleTimeout has changed after start().
2016-05-25 19:27:08 +02:00
Simone Bordet 6bf3607444 Fixed toString() NPE in case the stream is null. 2016-05-25 19:27:08 +02:00
Simone Bordet ddddc3a675 Fixes #574 - Introduce a TLS handshake completed listener.
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.
2016-05-24 16:09:19 +02:00
Simone Bordet d73c60db14 Issue #464 - Improve reporting of SSLHandshakeException. 2016-05-24 11:15:18 +02:00
Simone Bordet c8c74da50a Issue #581 - Initial session recv window setting not working.
Updating the local session receive window before sending it to the client.
2016-05-20 11:17:50 +02:00
Simone Bordet d55aaa4a0c Improved logging. 2016-05-20 01:12:24 +02:00
Jesse McConnell dc4574f380 [maven-release-plugin] prepare for next development iteration 2016-05-17 17:30:17 -05:00
Jesse McConnell 0bbebec1e0 [maven-release-plugin] prepare release jetty-9.3.9.v20160517 2016-05-17 17:30:13 -05:00
Simone Bordet dee3331ffb Issue #572 - Don't reject HTTP/2 requests without body in low threads mode.
* 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.
2016-05-16 15:01:08 +02:00
Simone Bordet 67ea8db5aa Always copy the request metadata.
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.
2016-05-16 15:01:08 +02:00
Simone Bordet 242b6b5f66 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-05-12 18:59:40 +02:00
Simone Bordet 016fc6569f Fixes #558 - HTTP/2 server hangs when thread pool is low on threads.
Modified ExecuteProduceConsume to test for Rejectable tasks when
trying to execute a task in low threads mode, and if so, reject them
immediately.
2016-05-12 00:13:35 +02:00
Simone Bordet 1fc40864e1 Issue #558 (HTTP/2 server hangs when thread pool is low on threads).
Verify that rejecting tasks avoids hanging the server when in low
threads mode.
2016-05-11 13:05:16 +02:00
Simone Bordet 8ac23d187a Added tests to verify input data consumption.
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.
2016-05-11 13:05:16 +02:00
Simone Bordet c14833a7f1 Fixes #552 (Improve HTTP/2 idle timeout handling)
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.
2016-05-07 14:45:34 +02:00
Simone Bordet 6827c5b045 Fixes #514 - Allow ExecutionStrategy to be configurable.
Introduced setters and constructor parameters to components that use
ExecutionStrategy.
2016-04-14 12:20:31 +02:00
Joakim Erdfelt 6fb338e50d Updating to version 9.3.9-SNAPSHOT 2016-04-11 16:20:50 -07:00
Joakim Erdfelt bb4f3c4882 Updating to version 9.3.9.M1 2016-04-11 15:35:22 -07:00
Simone Bordet f0a1ccf4d3 Fixes #504 - HTTP/2 client transport cannot send request after idle timeout.
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.
2016-04-11 19:15:17 +02:00
Simone Bordet 5c3e068cb3 Fixes #481 - Event response.success notified without waiting for content callback for HTTP/2 transport.
Improved fix, notifying the response.success event using a
CompletableCallback to avoid that HttpReceiver.responseContent()
fails the update from ResponseState.TRANSIENT.
2016-04-11 12:55:37 +02:00
Simone Bordet 5c147288ef Fixes #481 - Event response.success notified without waiting for content callback for HTTP/2 transport.
Fixed by notifying the response.success event only when the callback
is succeeded.
2016-04-04 15:40:25 +02:00
Simone Bordet 4f68d44a50 Fixes #477 - HTTP/2 client transport must not send absolute-form :path pseudo-header.
Reducing the target to a path if it is in absolute-form.
2016-04-01 19:16:52 +02:00
Simone Bordet ce04cadb79 Fixes #233 - Add message to idle TimeoutException. 2016-04-01 14:44:26 +02:00
Greg Wilkins 8b228073e3 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
Efficiency improvements
2016-03-24 11:37:39 +11:00
Simone Bordet 0e0edbb6db Fixes #441 (Simplify direct HTTP/2 over TLS HttpClient usage)
Added useALPN property to HttpClientTransportOverHTTP2 to disable
usage of ALPN and therefore allow direct HTTP/2 over TLS.
2016-03-18 10:49:03 +01:00
Simone Bordet 18aeca6567 Fixes #242 (Expose HTTP/2 LastStream error) 2016-03-16 22:14:09 +01:00
Joakim Erdfelt 13fde643ed Merge branch 'release-9.3.8' into jetty-9.3.x 2016-03-16 10:03:29 -07:00
Greg Wilkins 1c5a1fc6a2 Issue #431
Suppress stack traces from unit tests
2016-03-16 18:19:40 +11:00
Simone Bordet 26f8deddf7 Introduced Callback.Nested.
Refactored code that was using nested callbacks and removed
unnecessary overrides now that we have default methods.
2016-03-15 15:24:44 +01:00
Joakim Erdfelt c68d3b1d8d Updating to version 9.3.9-SNAPSHOT 2016-03-14 09:07:52 -07:00
Joakim Erdfelt 1f3b3f31f4 Updating to version 9.3.8.v20160314 2016-03-14 08:30:20 -07:00
Simone Bordet 8af356bc0d Issue #305 (NPE when notifying the session listener if the channel is closed before a session has been opened)
Added guard against NPE. It was needed since the connection may not
be present if the connect operation failed.
2016-03-07 17:00:52 +01:00
Simone Bordet 6311c03dcc Merged pull request #396. 2016-03-07 10:46:22 +01:00
Greg Wilkins d1fc5eb67d Revert "Issue #346 HttpParser RFC2616 Compliance mode"
This reverts commit 58e5a54ab6.
RFC7430 allows empty header values
2016-03-05 11:03:32 +01:00
Greg Wilkins 58e5a54ab6 Issue #346 HttpParser RFC2616 Compliance mode
Ignore headers without values.
2016-03-05 11:03:11 +01:00
Jinho Shin 3facfb6066 Add a overridable method 'onClose' in HttpClientTransportOverHTTP2.
- able to look GoAwayFrame through 'onClose' method.

Signed-off-by: Jinho Shin <drdoteam@gmail.com>
2016-03-05 12:54:14 +09:00
Simone Bordet cec3694355 Consistently using BufferUtil, especially clearToFill() and
flipToFlush().
2016-02-29 16:31:38 +01:00
Simone Bordet b8fcc5112f Issue #372 (Data race in HttpReceiverOverHTTP2)
Fixed implementations of onData() to properly complete the callback
and to copy the data if they use it asynchronously.
2016-02-29 14:39:27 +01:00
Simone Bordet aa6de825b7 Issue #372 (Data race in HttpReceiverOverHTTP2)
Fixed by copying the buffer passed to onData().
2016-02-29 14:02:17 +01:00
Simone Bordet aadfae936c Issue #366 (Avoid HTTP2Flusher reentrancy).
Made HTTP2Flusher termination to be atomic and non-reentrant.
2016-02-29 11:32:39 +01:00