Commit Graph

759 Commits

Author SHA1 Message Date
Simone Bordet 5ad8f2a777 Guarded against NPE if the channel is not associated with the stream. 2016-10-27 16:45:12 +02:00
Simone Bordet b741b454af Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-10-25 15:45:56 +02:00
Simone Bordet 33eb768d69 Fixes #1029 - Restore Request.setHttpVersion().
Also cleaned up the asymmetry in MetaData between the setter
(setHttpVersion()) and the getter (getVersion()).
2016-10-25 15:45:29 +02:00
Joakim Erdfelt ade14ba34b Updating to version 9.3.14-SNAPSHOT 2016-10-14 11:33:51 -07:00
Joakim Erdfelt c3a78e70a8 Updating to version 9.3.13.v20161014 2016-10-14 10:39:37 -07:00
Jan Bartel 6a2316fb23 Merge remote-tracking branch 'origin/jetty-9.4.x' 2016-10-13 15:21:51 +11:00
Greg Wilkins 9d475a624b Normalize tags #998 2016-10-13 10:06:17 +11:00
Simone Bordet bcc29de3eb Merged branch 'jetty-9.4.x' into 'master'. 2016-10-06 16:37:43 +02:00
Greg Wilkins 91e9e7b76a Issue #984 Improve module listing 2016-10-06 17:01:08 +11:00
Jesse McConnell 863913b64e set for dev 2016-09-30 19:05:47 +00:00
Jesse McConnell b91cc8a4ea set for release 2016-09-30 18:01:20 +00:00
Simone Bordet 8dc18fe088 Merged branch 'jetty-9.4.x' into 'master'. 2016-09-28 11:56:24 +02:00
Simone Bordet 7e376fd9da Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-28 11:53:54 +02:00
Simone Bordet 0f97c3df5d Fixes #966 - Remove usages of ConcurrentArrayQueue. 2016-09-28 11:40:39 +02:00
Simone Bordet 6e653c9057 Merged branch 'jetty-9.4.x' into 'master'. 2016-09-26 23:19:10 +02:00
Simone Bordet 6c4d6baa2e Returning longs for getMessagesIn() and getMessagesOut(). 2016-09-26 23:18:07 +02:00
Simone Bordet 79889f05f5 Merged branch 'jetty-9.4.x' into 'master'. 2016-09-26 12:21:05 +02:00
Simone Bordet 716c595cdf Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-26 12:20:22 +02:00
Simone Bordet 74b86bad35 Fixes #960 - Async I/O spin when reading early EOF.
AsyncIOServletTest is now testing HTTP/1.1 and HTTP/2 transports.
2016-09-26 11:49:57 +02:00
Simone Bordet f3b3d4a2ff Merged branch 'jetty-9.4.x' into 'master'. 2016-09-22 21:57:46 +02:00
Simone Bordet 9551d0f62b Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-22 21:57:12 +02:00
Simone Bordet 4edc50b59f Fixes #948 - 9.4.0.RC0 jetty-distribution invalid config etc/jetty-http2c.xml.
Updated references to deprecated property initialStreamSendWindow
with initialStreamRecvWindow.
2016-09-22 21:48:08 +02:00
Joakim Erdfelt 6cf10172ca Updating to version 9.3.13-SNAPSHOT 2016-09-15 07:34:52 -07:00
Joakim Erdfelt 8b35fdc5a5 Updating to version 9.3.12.v20160915 2016-09-15 06:48:16 -07:00
Simone Bordet c87c04e7f0 Merged branch 'jetty-9.4.x' into 'master'. 2016-09-14 16:45:01 +02:00
Simone Bordet 5ec60a30ed Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-14 16:44:39 +02:00
Simone Bordet aa00e4207d Issue #922 - Implements methods Connection.getBytes[In|Out]().
Implemented for HTTP/2.
2016-09-14 14:04:23 +02:00
Simone Bordet 822c436c10 Merged branch 'jetty-9.4.x' into 'master'. 2016-09-06 12:05:33 +02:00
Simone Bordet 448100ff80 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-06 12:02:01 +02:00
Simone Bordet 6d485b2777 Fixes #902 - Expect: 100-Continue does not work with HTTP/2.
Improved handling of the 100 status code in both client and server.
2016-09-06 12:01:24 +02:00
Simone Bordet bdf26da0c0 Merged branch 'jetty-9.4.x' into 'master'. 2016-09-05 23:12:44 +02:00
Simone Bordet e21ad09e3a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-05 23:09:12 +02:00
Simone Bordet 705a68dfc4 Issue #845 - Improve blocking IO for data rate limiting.
Moved tests to run HTTP and HTTP/2 tests, and added more test cases.
2016-09-05 19:13:05 +02:00
Greg Wilkins 3d93d39b39 Issue #845 data rate limits
Initial thoughts
2016-08-16 16:24:14 +10:00
Simone Bordet 637fa9ce37 Merged branch 'jetty-9.4.x' into 'master'. 2016-08-12 14:58:20 +02:00
Simone Bordet 6f20feddcb Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-12 14:57:47 +02:00
Simone Bordet 9f9e9ecaf9 Changes for Issue #824 (#825)
* Issue #824 - Implement notifications of asynchronous error conditions for HTTP/2.

Introduced new method HttpChannelState.asyncError() to be called in
case of asynchronous errors, i.e. those errors that do not happen in
the HttpChannel.handle() loop.

Implemented HTTP/2 callbacks to call HttpChannelState.asyncError()
and plug in the existing error handling mechanism.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>

* Issue #824 - Implement notifications of asynchronous error conditions for HTTP/2.

Improved implementation to ignore idle timeouts for streams and
session in case that requests are being handled, matching the HTTP/1.1
behavior.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2016-08-12 11:02:52 +02:00
Simone Bordet f8bc945f8d Merged branch 'jetty-9.4.x' into 'master'. 2016-08-09 16:04:07 +02:00
Simone Bordet 3c38e92898 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-09 16:03:26 +02:00
Simone Bordet 5073ba4787 Fixes #826 - Better default for HTTP/2's max concurrent streams.
Defaulted to 128 max concurrent streams.
2016-08-09 16:02:34 +02:00
Joakim Erdfelt 2830e51e04 Merge branch 'jetty-9.3.x' into release-9.3.11 2016-07-28 12:20:36 -07:00
Joakim Erdfelt a0d866687f Merge branch 'jetty-9.4.x' 2016-07-25 17:03:11 -07:00
Joakim Erdfelt 87c8e1c019 Merge branch 'jetty-9.3.x' into jetty-9.4.x 2016-07-25 17:02:51 -07:00
Greg Wilkins e53ea55f48 Issue #752 SETTINGS_MAX_HEADER_LIST_SIZE
Defined missing status codes (removed old/wrong javadoc)
Changed use of 413 to 431
Received SETTINGS_MAX_HEADER_LIST_SIZE is set on hpack encoded and warning generated only for large responses.
2016-07-23 12:17:50 +10:00
Jesse McConnell bfeedc6f5e Merge branch 'jetty-9.4.x' 2016-07-22 12:09:00 -05:00
Jesse McConnell 85af98b483 Merge branch 'jetty-9.3.x' into jetty-9.4.x 2016-07-22 12:08:40 -05:00
Joakim Erdfelt 6e1b1cdb36 Updating to version 9.3.12-SNAPSHOT 2016-07-21 19:07:19 -07:00
Joakim Erdfelt 9fd6d4354e Updating to version 9.3.11.v20160721 2016-07-21 18:37:09 -07:00
Greg Wilkins 849d51c07d Issue #752 - Implement support for HTTP2 SETTINGS_MAX_HEADER_LIST_SIZE.
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.
2016-07-22 09:52:52 +10:00
Simone Bordet 9a0dee9fbd Merged branch 'jetty-9.4.x' into 'master'. 2016-07-21 19:13:09 +02:00
Simone Bordet cceec33f54 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-21 19:12:38 +02:00
Simone Bordet 088dc036b4 Fixes #752 - Implement support for HTTP2 SETTINGS_MAX_HEADER_LIST_SIZE. 2016-07-21 19:12:10 +02:00
Simone Bordet 98454b8726 Merged branch 'jetty-9.4.x' into 'master'. 2016-07-21 17:50:51 +02:00
Simone Bordet cf0ecbd88f Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-21 17:50:08 +02:00
Simone Bordet 78d27c9a28 Fixes #755 - NPE in HttpChannelOverHTTP2.requestContent().
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.
2016-07-21 17:43:14 +02:00
Greg Wilkins b8b9d222eb Merge remote-tracking branch 'origin/jetty-9.4.x' 2016-07-21 16:50:27 +10:00
Greg Wilkins 6e4abb3339 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-07-21 12:29:54 +10:00
Greg Wilkins 2db91a88cf HTTP2 SETTINGS_MAX_HEADER_LIST_SIZE #752 2016-07-21 12:28:32 +10:00
Greg Wilkins 68f57cf3e8 Merge remote-tracking branch 'origin/jetty-9.4.x' 2016-07-13 14:49:19 +10:00
Greg Wilkins c27d71a5a8 Expose public constructor for #689 2016-07-13 11:59:46 +10:00
Jan Bartel c3da8b27eb Merge remote-tracking branch 'origin/jetty-9.4.x' 2016-07-06 13:43:52 +10:00
Greg Wilkins cc842aff2b Issue #689 disable http2 draft versions 2016-07-06 13:17:50 +10:00
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
Greg Wilkins 502f27f43e Merge remote-tracking branch 'origin/jetty-9.4.x' 2016-06-03 16:22:17 +10:00
Greg Wilkins 98c328fb23 Jetty 9.4.x 572 (#614)
* Issue #572 Scheduling Strategy Deadlocks

Implemented dual strategy idea from #572 discussion

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* fixed http2 strategy choice

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* code cleanups

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* clean up seelctor actions/products

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* cleanups
2016-06-03 09:07:00 +10:00
Simone Bordet 856b48c3b4 Merged branch 'jetty-9.4.x' into 'master'. 2016-05-25 19:28:35 +02:00
Simone Bordet b912c700ee Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-25 19:27:46 +02:00
Simone Bordet 6bf3607444 Fixed toString() NPE in case the stream is null. 2016-05-25 19:27:08 +02:00
Simone Bordet 1cd3d527ea Merged branch 'jetty-9.4.x' into 'master'. 2016-05-20 11:19:03 +02:00
Simone Bordet ee11e65a8a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-20 11:18:23 +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 c5b834f003 Merged branch 'jetty-9.4.x' into 'master'. 2016-05-20 01:13:25 +02:00
Simone Bordet fab61b9157 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-20 01:12:51 +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 201bde8bf2 Merged branch 'jetty-9.4.x' into 'master'. 2016-05-16 15:14:20 +02:00
Simone Bordet 039ced6e25 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-16 15:13:54 +02: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 2c787bbc05 Merged branch 'jetty-9.4.x' into 'master'. 2016-05-11 13:57:32 +02:00
Simone Bordet d8961139f3 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-11 13:57:08 +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 5af72ed1fc Merged branch 'jetty-9.4.x' into 'master'. 2016-05-06 17:44:16 +02:00
Greg Wilkins fb99534c73 deprecation cleanup 2016-05-05 12:03:42 +10:00
Joakim Erdfelt c09f31a51d Bumping up master to version 10.0.0-SNAPSHOT 2016-04-29 11:47:15 -07:00
Simone Bordet a37fdcd0e2 Fixes #514 - Allow ExecutionStrategy to be configurable.
Introduced setters and constructor parameters to components that use
ExecutionStrategy.
2016-04-14 12:28:52 +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 68a465d7a3 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 19:50:26 +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
Greg Wilkins acfa1268bc Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-03-24 12:58:06 +11: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
Joakim Erdfelt 3624339ec6 Merge branch 'jetty-9.3.x' 2016-03-16 10:29:29 -07: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
Joakim Erdfelt dcfa0b8910 Merge branch 'jetty-9.3.x' 2016-03-15 07:49:28 -07: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
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
Simone Bordet 2c11372bc4 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-29 17:17:09 +01:00
Simone Bordet cec3694355 Consistently using BufferUtil, especially clearToFill() and
flipToFlush().
2016-02-29 16:31:38 +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 65b11654c5 Improved logging. 2016-02-29 11:56:49 +01:00
Simone Bordet 51009208d4 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-19 13:23:34 +01:00
Greg Wilkins 55eb54799f Issue #346 HttpParser RFC2616 Compliance mode
Added HttpParser.Compliance field to HttpConnectionFactory
2016-02-19 11:41:07 +01:00
Simone Bordet e91d93b85c Merged branch 'jetty-9.3.x' into 'master'. 2016-02-15 20:56:01 +01:00
Simone Bordet 26b6c848f3 Issue #80 (Spin loop in case of HTTP/2 prefaces without H2C).
Fixed by changing the state of the parser before calling the parser
handler callbacks, and by closing the parser if the upgrade to HTTP/2
is not successful.
2016-02-15 20:50:22 +01:00
Joakim Erdfelt e0ce545ad7 Updating to version 9.3.8-SNAPSHOT 2016-01-15 17:15:14 -07:00
Joakim Erdfelt c0b191119b Updating to version 9.3.7.v20160115 2016-01-15 16:40:15 -07:00
Joakim Erdfelt b7f9c9aca9 Updating to version 9.3.7-SNAPSHOT 2016-01-13 08:21:01 -07:00
Joakim Erdfelt 21ca3f6690 Updating to version 9.3.7.RC1 2016-01-13 07:30:24 -07:00
Joakim Erdfelt ac24196b0d Happy New Year 2016 2016-01-04 14:34:20 -07:00
Joakim Erdfelt cd39fd84fe Happy New Year 2016 2016-01-04 14:31:22 -07:00
Simone Bordet bf757aafa9 484818 - Expose interesting HTTP/2 attributes and operations via JMX.
Added flow control stall times and improved dump().
2016-01-04 13:06:24 +01:00
Simone Bordet fdadc942e9 484818 - Expose interesting HTTP/2 attributes and operations via JMX.
Added flow control stall times and improved dump().
2015-12-28 14:30:24 +01:00
Simone Bordet c66a4d5aa7 Merged branch 'jetty-9.3.x' into 'master'. 2015-12-24 10:47:10 +01:00
Simone Bordet 30694b675b 484876 - Make simpler to customize the FlowControlStrategy.
Introduced FlowControlStrategy.Factory along with getters and setters
in relevant classes.
2015-12-24 10:32:36 +01:00
Simone Bordet 802948259e Merged branch 'jetty-9.3.x' into 'master'. 2015-12-23 11:26:11 +01:00
Simone Bordet b7ab9e0a22 484818 - Expose interesting HTTP/2 attributes and operations via JMX.
Initial work to expose already existing attributes on the server.
2015-12-23 11:08:25 +01:00
Greg Wilkins ac124094dd Merge remote-tracking branch 'origin/jetty-9.3.x' 2015-11-26 07:08:06 +11:00
Greg Wilkins a2c057892e 483039 - HTTP2 Upgrade case sensitivity on Connection header 2015-11-26 07:06:38 +11:00
Greg Wilkins ff0d1b4c14 481903 Module Descriptions 2015-11-12 10:48:04 +11:00
Simone Bordet 279e56d336 481718 - Improve stream interleaving.
Introduced the constraint in the API that Stream.headers() and
Stream.data() calls cannot be invoked if the previous operation did
not complete.

Improved interleaving by appending unfinished DATA frames at the end
of the queue, rather than prepending them.
2015-11-09 21:58:48 +01:00
Joakim Erdfelt edf686fe0a Updating to version 9.3.7-SNAPSHOT 2015-11-06 12:13:00 -07:00
Joakim Erdfelt d737e1c638 Updating to version 9.3.6.v20151106 2015-11-06 11:09:32 -07:00
Greg Wilkins 7843b7348e 480827 Implemented Unix Domain Socket Connector
Squashed commit of the following:

commit fbb680ba7cdb73495524ea9e5b0f49caee7f68d8
Merge: ed2550b 64ea0db
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Nov 6 10:44:00 2015 +1100

    Merge branch 'master' into unix-socket

commit ed2550b50f978e1984e19fbda642baf450dbe6a1
Merge: 88d7b35 de137ab
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Nov 5 18:41:25 2015 +1100

    Merge branch 'master' into unix-socket

commit 88d7b35f885de2da7dec836e6e4ae2b522d517f0
Merge: 7d4155f 3e2658a
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Nov 5 17:38:27 2015 +1100

    Merge branch 'master' into unix-socket

commit 7d4155fe4a407d493683b66709bc638879b0b422
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Nov 5 17:24:48 2015 +1100

    Unix socket configuration

commit 2737b19f73ad153c20e1762874558a5d62849f90
Merge: cd0cc2e 92cc44c
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Nov 4 15:13:40 2015 +1100

    Merge branch 'master' into unix-socket

    Conflicts:
    	jetty-server/src/main/java/org/eclipse/jetty/server/SecureRequestCustomizer.java

commit cd0cc2ef36a558d948bf26aff4f9e3519da2f823
Merge: 639753b 303f98e
Author: Greg Wilkins <gregw@webtide.com>
Date:   Mon Nov 2 12:21:19 2015 +1100

    Merge branch 'master' into unix-socket

commit 639753b5ed37778d7231acfe9d52039aed66351e
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 15:42:58 2015 +1100

    local connectors report NOIP address

commit 6d38c4195f145b99f775a06d546960b119094b0c
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 12:11:13 2015 +1100

    Gentler ssl close test

commit 40b46b66a738c9187f859d522a0165bb09b113c8
Merge: b7eb082 fa53b11
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 11:09:42 2015 +1100

    Merge branch 'master' into unix-socket

commit b7eb082be44864c058b6f01b10364013596d3650
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 08:34:30 2015 +1100

    SecureRequestCustomizer for UnixSockets

commit edbb3c080200b4c6aa2836eff6c81bf31a73a8c1
Merge: 90e8cc0 de7ac72
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 29 19:47:05 2015 +1100

    Merge branch 'master' into unix-socket

commit 90e8cc060ff6dc4b249818db38334ffa543f002f
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 29 19:31:50 2015 +1100

    use proxy connection

commit b1772ef5dcac9ddf9bb5ecda1cda6d038ca21755
Merge: e95a932 9fe7332
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 29 16:46:29 2015 +1100

    Merge branch 'master' into unix-socket

commit e95a932bda5a96bf98ada4fb47664790af2aa0a2
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Oct 28 15:58:25 2015 +1100

    fixed config

commit f8963b2ed6b6b4b96f1d9403194c9d50ab1f12fd
Merge: 9c56b53 8b27484
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Oct 28 15:34:28 2015 +1100

    Merge branch 'master' into unix-socket

commit 9c56b53cbec20d98e5cb05cf8d1f668fe84b95e0
Merge: 298a311 39768f8
Author: Greg Wilkins <gregw@webtide.com>
Date:   Mon Oct 26 13:04:34 2015 +1100

    Merge branch 'master' into unix-socket

commit 298a311af952ad3ef5d1c7635deabf47bddaa1c6
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 15:24:19 2015 +1100

    Async accepting

commit 8266753d124c04ec8bca8aa02be1ef3d826d6769
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 14:45:35 2015 +1100

    set acceptors

commit 6a56c5b9e19063fcb95cdc1228adf723c0d41362
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 11:44:54 2015 +1100

    licence

commit d80e5748e6c4327bae57de2af01983990dd2afe0
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 11:24:14 2015 +1100

    unixsocket work in progress adding modules

commit cf0c1153d9966cc7182ba29411527b4341c34da6
Merge: 645b671 c39bfa2
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 08:52:01 2015 +1100

    Merge branch 'master' into unix-socket

commit 645b6712d37282c26011a95c8c98e45c249b2e5f
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 08:49:52 2015 +1100

    IP headers

commit 67b210b9ea81af68ce3848a114bbbd1b80a8ca52
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 22 23:48:57 2015 +1100

    working with haproxy

commit e4fce9cf5d896a9a29a7c6280fcaa0336dfcc0f2
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 22 18:25:09 2015 +1100

    unixsocket working

commit 6f013788cad44e6641cd89720c5e7f3652cdc257
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 22 15:39:55 2015 +1100

    work in progress
2015-11-06 11:17:46 +11:00
Joakim Erdfelt dde32787c4 Updating to version 9.3.6-SNAPSHOT 2015-10-12 15:47:37 -07:00
Joakim Erdfelt 29722bd880 Updating to version 9.3.5.v20151012 2015-10-12 15:10:39 -07:00
Simone Bordet ccbd626cb2 479537 - Server preface sent after client preface reply.
Fixed by anticipating the onPreface() callback on server before
processing the client preface's SETTINGS frame.
2015-10-12 18:36:53 +02:00
Simone Bordet 3fd8a2e666 479537 - Server preface sent after client preface reply.
Fixed by anticipating the onPreface() callback on server before
processing the client preface's SETTINGS frame.
2015-10-12 17:52:19 +02:00
Joakim Erdfelt 2cce7510e1 Updating to 9.3.5-SNAPSHOT 2015-10-08 17:49:09 -07:00
Joakim Erdfelt 9cf0e34a1d Updating to version 9.4.0-SNAPSHOT 2015-10-07 15:41:32 -07:00
Joakim Erdfelt 37296bec3c Updating to version 9.3.4.v20151007 2015-10-07 14:58:38 -07:00
Simone Bordet 83c5105e71 478434 - Priority weights should be between 1 and 256 inclusive.
Added required +1 in parsers and -1 in generators to convert from
unsigned byte to weight.
2015-09-26 00:14:45 +02:00
Simone Bordet 0c9eba0485 478275 - Priority information in HEADERS frame is not sent.
Now the priority information present in HEADERS frame is correctly
generated and sent as part of the HEADERS frame.
2015-09-25 13:00:26 +02:00
Simone Bordet 30532786cc Improved logging. 2015-09-14 11:51:19 +02:00
Simone Bordet f2a3bd8f05 477087 - Enforce that the preface contains a SETTINGS frame.
Now the ServerParser enforces that the preface bytes are followed by
a SETTINGS frame.
2015-09-10 19:04:47 +02:00
Jesse McConnell 6409366499 [maven-release-plugin] prepare for next development iteration 2015-08-27 10:11:29 -05:00
Jesse McConnell 3086adc965 [maven-release-plugin] prepare release jetty-9.3.3.v20150827 2015-08-27 10:11:21 -05:00
Jesse McConnell f8734f23ce [maven-release-plugin] prepare for next development iteration 2015-08-25 14:10:01 -05:00
Jesse McConnell e9edf4c24b [maven-release-plugin] prepare release jetty-9.3.3.v20150825 2015-08-25 14:09:54 -05:00
Joakim Erdfelt 4b3879845d [maven-release-plugin] prepare for next development iteration 2015-07-30 07:02:10 -07:00
Joakim Erdfelt 6b7e9ac4b0 [maven-release-plugin] prepare release jetty-9.3.2.v20150730 2015-07-30 07:02:02 -07:00
Simone Bordet 25ed10d205 473118 - HTTP/2 server does not retrieve Host header from client. 2015-07-28 12:26:53 +02:00
Greg Wilkins 607239028c 470727 - Thread Starvation of selector wakeups.
Changed the CallBack.NonBlocking to a default Callback.isNonBlocking, so that wrapping callbacks can determine if they are NonBlocking or not.
2015-07-22 17:31:54 +10:00
Jesse McConnell 9b790c38ce [maven-release-plugin] prepare for next development iteration 2015-07-14 11:42:34 -05:00
Jesse McConnell b35d32f2b8 [maven-release-plugin] prepare release jetty-9.3.1.v20150714 2015-07-14 11:42:28 -05:00
Simone Bordet c367ea8a85 441020 - Support HEADERS followed by CONTINUATION+. 2015-07-08 18:55:47 +02:00
Greg Wilkins 30f8eb234e Allow HTTP2C to be configured separately from HTTP2 2015-06-17 15:01:17 +10:00
Joakim Erdfelt cf6c4a914e Updating version to 9.3.1-SNAPSHOT 2015-06-15 10:25:49 -07:00
Joakim Erdfelt 1a9da9f9e4 Updating versions to 9.3.0.v20150612 2015-06-12 09:34:24 -07:00
Joakim Erdfelt c6ac82f50b Merge branch 'master' into release-9.3 2015-06-12 09:30:46 -07:00
Joakim Erdfelt 7c737a587b Removing [version] sections in modules 2015-06-12 09:14:34 -07:00
Joakim Erdfelt 496b4dfc83 [maven-release-plugin] prepare for next development iteration 2015-06-11 15:08:36 -07:00
Joakim Erdfelt f53c5d8fac [maven-release-plugin] prepare release jetty-9.3.0.v20150611 2015-06-11 15:08:29 -07:00
Joakim Erdfelt 916efd6aa7 469860 - Add module metadata versioning to support backwards compat
+ Adding [version] section to all existing jetty 9.3 distro modules
+ Updating testcases in jetty-start with new [version] sections too
+ Adding extra testcases for versioned modules
2015-06-10 10:59:18 -07:00
Simone Bordet a6ff4da9b1 Made the cipher comparator a constant field. 2015-05-26 18:03:55 +02:00
Greg Wilkins bd27e7d2d4 467730 - HTTP2 requires enabled ciphers to be sorted by blacklist 2015-05-21 01:41:12 +10:00
Greg Wilkins 356600716d Draft 14 9.2.2 protection 2015-05-13 10:26:45 +10:00
Greg Wilkins 5d041ad54f 466645 Allow XmlConfiguration Properties to use Elements or Attributes 2015-05-07 16:24:11 +10:00
Greg Wilkins 8b39e7ffb8 464629 JDK8 Socket customization
Added the SocketCustomizationListener class which may be added as a bean to either a Connector or a ConnectionFactory
so that customizations may be made per connector by connection type or even per connection factory.

SSL is unwrapped.
2015-04-30 11:46:10 +10:00
Simone Bordet a6cc4ff2f5 465857 - Support HTTP/2 clear-text server-side upgrade.
Fixed and test both types of upgrade, from HTTP/1.1 via its
upgrade mechanism, and direct HTTP/2.
2015-04-29 22:27:50 +02:00
Simone Bordet 2de8eb936d 464708 - Support HttpConfiguration.delayDispatchUntilContent in HTTP/2. 2015-04-24 12:36:53 +02:00
Simone Bordet 3d5164b651 Hiding exception stack printed by a successful test. 2015-04-24 12:26:36 +02:00
Simone Bordet e868ab0b0d 464706 - HTTP/2 and async I/O: onDataAvailable() not called.
Changed HTTPServerConnection to return a Runnable to be run by the
execution strategy also in case of content.
This allows onDataAvailable() to be called at the proper times.
2015-04-15 17:21:17 +02:00
Simone Bordet 55e74c6867 460187 - infinite recursion in sending error.
Added test case.
2015-04-14 22:11:59 +02:00
Simone Bordet 599ab9bb1b 460671 - Rationalize property names.
Property format is now "jetty.<module|component>.<propertyName>".

Updated all references with new properties.
2015-04-13 16:21:48 +02:00
Greg Wilkins 663ff827ed Blacklist ciphers only for h2-16 and later 2015-04-09 10:31:45 +10:00
Greg Wilkins 1cb0449be3 Organised imports 2015-03-26 12:32:15 +11:00
Simone Bordet e255bda694 459845 - Support upgrade from http1 to http2.
Simplified upgrade mechanism, and made it available through clearer
internal APIs.
2015-03-20 15:02:40 +01:00
Simone Bordet 2a21f8cb2f Renamed ISession.control() to ISession.frames(). 2015-03-20 15:02:07 +01:00
Greg Wilkins caacebc223 459845 - Support upgrade from http1 to http2
functioning implementation.  Not exactly the most elegant solution, but works with nghttp2 -u
2015-03-19 12:02:54 +11:00
Simone Bordet 81f29576e6 Prevented NPE in abort(). 2015-03-16 08:17:25 +01:00
Simone Bordet 4f0c63734c 462162 - StackOverflowException when response commit fails.
Fixed HttpChannel to avoid to stack overflow in case of unusual
exceptions thrown while committing.
Now it directly calls the transport to try to send a 500.
2015-03-15 12:10:27 +01:00
Greg Wilkins 3f795da26c 459845 - Support upgrade from http1 to http2
Generalised Upgrade Connection Factories
2015-03-13 13:59:29 +11:00
Simone Bordet feed8ea158 Small refactoring of HTTP/2 upgrade code. 2015-03-12 19:08:26 +01:00
Greg Wilkins b7d719be5f 459845 - Support upgrade from http1 to http2
Parse setting frame.
2015-03-13 00:54:33 +11:00
Simone Bordet 005870811d Fixed compilation issue: using Jetty's B64Code instead of JDK8 Base64. 2015-03-12 11:06:30 +01:00
Greg Wilkins 0dd58d2efe 459845 - Support upgrade from http1 to http2
Moved the sneaky direct upgrade to its own method and added support to detect a standard upgrade.
The standard upgrade now creates the h2c connection and decodes the settings header, but it does not yet process the
settings nor send a response to the request.
2015-03-12 16:52:17 +11:00
Simone Bordet 560ec6301e 423974 - Optimize flow control.
Made the buffering flow control strategy the default.
2015-03-11 16:27:31 +01:00
Simone Bordet 48887377c9 459081 - http2 push failures.
Introduced ExecutionStrategy.dispatch() to handle the case where
resources that are being pushed block.
2015-03-11 00:12:57 +01:00
Simone Bordet 73821e7ac6 461052 - Local streams created after INITIAL_WINDOW_SIZE setting have wrong send window.
Fixed by tracking both send and recv initial stream windows.
This is needed because both client and server may send an
INITIAL_WINDOW_SIZE setting, and they must be treated
separately.
2015-02-27 19:21:35 +01:00
Greg Wilkins 5d6bb9f5d0 460210 - ExecutionStragegy producer for SelectManager calls onOpen from produce method
Additional refactoring to better handle HttpInput state.   Moved the unready and read possible states into the HttpChannelState
2015-02-23 23:06:23 +11:00
Greg Wilkins b60ea47ef4 Revert "Revert "Fixed AsyncIO double dispatch""
This reverts commit 8bd94ec6be.
This is a revert of the revert to add back in the useful debug, plus some TODO comments describing the problems
2015-02-20 00:18:29 +11:00
Greg Wilkins 8bd94ec6be Revert "Fixed AsyncIO double dispatch"
This reverts commit 968063c1ab.
2015-02-20 00:03:40 +11:00
Greg Wilkins 968063c1ab Fixed AsyncIO double dispatch 2015-02-19 18:13:31 +11:00
Simone Bordet 84b8882624 Using TestTracker Rule in test classes. 2015-02-18 23:00:37 +01:00
Simone Bordet d4809e9b79 Improved handling of the stream close state.
Now the stream close state is updated when the frame has been
successfully written, and when it is received.
The stream is closed in case of failures.
Just after the stream close state update, if the stream is closed
then it is removed from the session.
2015-02-18 23:00:37 +01:00
Greg Wilkins c090f179a7 459845 - Support upgrade from http1 to http2/websocket
Added jetty-http2c.xml and http2c.mod
2015-02-13 15:06:24 +11:00
Greg Wilkins 4db654ad32 Organised http2 imports 2015-02-13 13:43:32 +11:00
Greg Wilkins 98e3a28794 459845 - Support upgrade from http1 to http2/websocket
Added test harness for h2c upgrade.
2015-02-13 13:41:14 +11:00
Greg Wilkins c3332e7d2e 459845 - Support upgrade from http1 to http2/websocket
Added support for unofficial "upgrade" from http/1 to h2c
2015-02-13 12:16:03 +11:00
Simone Bordet 0677735550 Simplified HTTP/2 parser and its listener.
It is not possible to perform asynchronous processing of the content
of DATA frames, because otherwise the parser has to stop, stalling
all other streams.
Parser.Listener methods were returning boolean in a vestigial attempt
to handle asynchronous data processing, and have now been converted to
return void.
2015-02-12 19:43:52 +01:00
Greg Wilkins a147cee480 459731 - Update for drafts hpack-11 and http2-17 2015-02-12 14:45:12 +11:00
Joakim Erdfelt 20fa13605c 459655 - Remove SPDY and NPN
+ Flattening protonego-* to alpn.mod + alpn-impl/alpn-${java.version}
2015-02-11 10:58:10 -07:00
Greg Wilkins 2162455b72 Removed SPDY and NPN
Because jetty 9.3 is targetted for HTTP2, we have removed support for SPDY and NPN.
2015-02-11 14:20:06 +11:00
Simone Bordet 3855024bba Added tests for HTTP2Client idle timeout. 2015-02-09 16:53:22 +01:00
Simone Bordet 7066f65e8c 423974 - Optimize flow control.
Implemented a buffering FlowControlStrategy that reduces the amount
of WindowUpdate exchanges.
2015-02-09 13:25:32 +01:00
Simone Bordet 02b5732720 First take at implementing the HttpClientTransport for HTTP2. 2015-02-09 09:11:56 +01:00
Greg Wilkins 14cd10b676 experimenting with push API 2015-02-06 13:48:34 +11:00
Greg Wilkins f6cfe07a69 added direct buffer configuration 2015-02-05 10:02:01 +11:00
Greg Wilkins e1cc5fb487 Merge remote-tracking branch 'origin/master' into jetty-9.3-ewyk
Conflicts:
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java
	jetty-server/src/main/java/org/eclipse/jetty/server/QueuedHttpInput.java
	jetty-util/src/main/java/org/eclipse/jetty/util/thread/NonBlockingThread.java
2015-01-08 15:21:01 +01:00
Joakim Erdfelt a3201a3c81 Happy New Year 2015 2015-01-07 17:06:59 -07:00
Greg Wilkins 3af9b145a3 Deprecated the AbstractConnection dispatchIO mechanism 2015-01-01 16:18:13 +01:00
Greg Wilkins 3f59bc4c14 refactored HttpConnector for EWYK - work in progress 2014-12-23 17:15:27 +01:00
Greg Wilkins ebaf84b97e Refactored HttpInput to use poison pills 2014-12-21 10:43:37 +01:00
Simone Bordet e35c51eb7d Implemented dispatch to the application using an ExecutionStrategy.
Now instead of having the channel to dispatch when it detects that it
has to call the application (upon receiving a HEADERS frame, or upon
a push "fake" request), now the whole mechanism is controlled by an
ExecutionStrategy.
2014-12-18 17:14:34 +01:00
Greg Wilkins dfe9dc3115 Further experimentation with PushBuilder 2014-12-09 12:27:39 +01:00
Greg Wilkins 06b1efc182 Added alternate push API and example 2014-12-05 17:47:25 +01:00
Greg Wilkins 7b41e78f74 Improved HttpChannelOverHTTP2 recycling 2014-12-05 08:36:51 +01:00
Greg Wilkins 2536c1cc3f Handle HTTP2-16 black listed ciphers 2014-12-04 14:17:25 +01:00
Greg Wilkins c3472f01c4 updated hpack for draft 10 name changes 2014-12-04 10:27:14 +01:00
Greg Wilkins 0a144ed3ac 453487 Recycle HttpChannelOverHTTP2
This is an initial recyling of the channel.   The pool is a concurrent linked list, but it may be better to use an array backed list/stack that can easily enforce a maximum pool size.
The pool is currently on the session listener, when it really should be on the HTTP2ServerConnection, but more refactoring is needed for that.
Also the pool is currently inaccessible to the push mechanism
2014-11-28 12:09:59 +11:00
Greg Wilkins f853adb43c fixed debug 2014-11-21 16:01:31 +11:00
Joakim Erdfelt d4d6cfdfa7 Removing virtual module [ssl-protonego]
+ This virtual module, rolled the ssl + protonego + (xml) into
  http2 & spdy modules instead.
2014-11-17 14:08:19 -07:00
Greg Wilkins 5b60e0c98d support h2-15 and h2-14 2014-11-14 10:53:37 +11:00
Greg Wilkins e3bda4efbe 446564 Refactored RequestLog Mechanism
RequestLog can now be set on the HttpChannel and is called during the onCommitted callback.
The RequestLog may be set either on the server or via an updated RequestLogHandler that can
be applied to a specific context.
2014-10-31 13:31:29 +11:00
Greg Wilkins 31e448ffd6 Removed duplication of HttpGenerator$Info vs http.MetaData
Use MetaData throughout code base
2014-10-24 15:51:20 +11:00
Greg Wilkins ec79a6f88e Improve HTTP header pre-encoding
The HttpContent class has been reworked to store HttpField instances, we may be generated on
demand or instances of PreEncodedHttpField.

The encoding of HTTP2 fields has been generalized to handle both indexed and literal fields, selected
by header enum set.

Default servlet and response classes have been cleaned up in how they set response headers.
2014-10-16 12:31:37 +11:00
Simone Bordet 8d2efaf7eb 445167 - Allow configuration of dispatch after select.
Introduced parameter "dispatchIO" in the relevant factories so that
they can be configured by users and connections will be created
taking into account this parameter.

For less configurable connection factories, this parameter is
currently hardcoded to either true or false depending on the case.
For example, ALPN and NPN connections have it to false, since they
don't do any blocking operation in onFillable().
2014-09-26 10:13:16 +02:00
Simone Bordet a8b461fe91 Cosmetics: removed unused imports, cleaned up source code, improved javadocs. 2014-09-26 10:13:16 +02:00
Jesse McConnell 3095a179f9 [maven-release-plugin] prepare for next development iteration 2014-09-24 12:24:31 -05:00
Jesse McConnell 390f3200cc [maven-release-plugin] prepare release jetty-9.3.0.M0 2014-09-24 12:24:23 -05:00
Greg Wilkins a573430840 PushCacheFilter handles multiple hosts and ports 2014-09-22 11:10:13 +10:00
Greg Wilkins fc4bfc8a66 improved debug logging 2014-09-21 15:03:54 +10:00
Simone Bordet 418a493337 More simplifications for the send() implementation. 2014-09-18 11:50:18 +02:00
Greg Wilkins 0acee9851f minor cleanups of exceptions 2014-09-18 18:23:48 +10:00
Simone Bordet 3e602117b4 Improved send() implementation to be more clear, and covered also a
missing case where the callback may have not been notified.
2014-09-17 18:07:22 +02:00
Simone Bordet 17c8f71724 Renamed onConnect() to onAccept() to reflect its server-side role. 2014-08-21 11:54:03 +02:00
Simone Bordet c07ea68b51 Improved configurability of stream idle timeout. 2014-08-21 11:54:03 +02:00
Simone Bordet 75c1322adc Rewritten close workflow to make sure that connections are correctly closed. 2014-08-21 11:54:03 +02:00
Simone Bordet c15480644f 442083 - Client resets stream, pending server data is failed, connection closed.
Introduced ResetException, and using it when failing frames of streams
that have been reset already.

HttpTransportOverHTTP2.abort(Throwable) checks for this exception and
does not close the connection.
2014-08-19 18:40:01 +02:00
Simone Bordet 728a7c3442 Made push functionality honor configuration parameter sent via SETTINGS. 2014-08-15 18:34:20 +02:00
Simone Bordet c7987b154a Reverted logging of HTTP2 tests from DEBUG to INFO. 2014-08-15 17:29:38 +02:00
Greg Wilkins 1c71040eca moved config plugin to profile 2014-08-15 19:53:52 +10:00
Greg Wilkins b47f9ef605 cleaned up OSGi manifest creation 2014-08-15 19:35:49 +10:00
Simone Bordet 48b1f9f3f1 Implemented HTTP/2 push functionality.
A PushCacheFilter contains the logic to associate secondary resources
to primary resources.
PushCacheFilter calls a Jetty-specific API on the request dispatcher:
Dispatcher.push(ServletRequest). This is a technology preview of the
push functionality slated for Servlet 4.0.
The push() invocation arrives to the transport and it is converted to
HTTP/2 specific PUSH_PROMISE, along with the mechanism to simulate
the request for the secondary resource.
2014-08-14 23:05:35 +02:00
Greg Wilkins 68a3ca8e31 improved debug logging of settings 2014-08-13 12:00:32 +10:00
Simone Bordet 814c84a212 Introduced configuration properties for ALPN/NPN advertised protocols.
No more need to copy protonego-alpn.xml to a jetty.base to specify
which protocols are advertised and in which order.
Instead, simply specify:

alpn.protocols=h2-14,http/1.1
alpn.defaultProtocol=http/1.1

in start.ini (in the example above for http2).
2014-08-12 18:54:33 +02:00
Simone Bordet e147ce9528 Updated flow control implementation to detect when senders exceed
allowed windows.
2014-08-12 16:37:41 +02:00
Simone Bordet d2fa4dca60 Introduced configuration properties for ALPN/NPN advertised protocols.
No more need to copy protonego-alpn.xml to a jetty.base to specify
which protocols are advertised.
Instead, simply specify:

protonego.protocols=h2-14,http/1.1
protonego.defaultProtocol=http/1.1

in start.ini (in the example above for http2).
2014-08-11 23:59:26 +02:00
Simone Bordet 107a4fff20 Fixed handling of INITIAL_WINDOW_SIZE setting.
It must update only stream windows, and not the session window.
2014-08-11 18:43:50 +02:00
Greg Wilkins 5da39140df remove old TODOs 2014-08-08 18:30:56 +10:00
Greg Wilkins 287e86b7aa decomposed https,http2 and spdy modules to share ServerConnector 2014-08-07 12:58:12 +10:00
Simone Bordet 55dec378fc Merged branch 'jetty-http2' into 'http2_flow_control' 2014-08-06 15:43:56 +02:00
Simone Bordet 2cd53831c0 Refactored onReadTimeout() to parent class. 2014-08-06 15:39:29 +02:00
Greg Wilkins 17f46665df preencoded httpfield optimisation 2014-08-06 21:09:26 +10:00
Greg Wilkins b5971484a5 Basic push mechanism skeleton 2014-08-06 10:50:55 +10:00
Greg Wilkins 6b3c8d06a9 partial 100 continues support in http2 2014-08-05 16:14:53 +10:00
Simone Bordet 17c03385d6 Fixed send() by properly handling all cases. 2014-08-04 12:09:10 +02:00
Simone Bordet 67fd213263 Moved http2.parser.ErrorCode to http2.ErrorCodes. 2014-08-01 15:03:49 +02:00
Simone Bordet 6b6267ed31 Updated implementation to draft-14. 2014-08-01 13:32:56 +02:00
Greg Wilkins 70dafa8eb3 simplified HttpTransport API 2014-07-31 11:53:51 +10:00
Greg Wilkins 5d8780cb4e Record some TODOs 2014-07-28 15:27:40 +10:00
Greg Wilkins 30123607c6 Major refactor of metadata and HttpURI
This refactor strives to remove duplication between the Metadata class and the HttpURI class.

Both classes have been made mutable (as they partially were anyway so best not to pretend).

HttpURI now holds the decomposed strings rather than a single string with indexes. This allows it to be rebuilt after changing just parts of the URI. It is now a lot more similar to the
JVM URI class and we could consider replacing it (after checking peformance).

Next step is to refactor the Request class to prevent it duplicating these fields.
2014-07-24 15:49:52 +10:00
Greg Wilkins f9ffefbe13 refactored to avoid copying MetaData.Request instances 2014-07-11 16:35:25 +10:00
Simone Bordet 603985dcd2 Implemented gentler shutdown in case of reading -1.
This allows big responses to be sent even if the request half closes
the connection.
2014-06-27 17:06:07 +02:00
Simone Bordet 58b1ec9935 Improved logging. 2014-06-27 12:55:38 +02:00
Simone Bordet 86b0d77338 Improved the server transport implementation, and fixed a case where
the end stream flag was erroneously sent with more content to send.
2014-06-23 21:23:17 +02:00
Simone Bordet 72e0d800ac Made ALPN API dependency provided. 2014-06-23 21:23:17 +02:00
Simone Bordet 4211653095 Fixed tests. 2014-06-18 16:09:52 +02:00
Simone Bordet 9d9260e634 Implemented idle timeout functionality for streams. 2014-06-18 13:57:37 +02:00
Simone Bordet 4dca6a71d3 Update Parser constructor to take additional parameters needed by
HpackDecoder.
2014-06-18 11:40:11 +02:00
Simone Bordet 9c95e29088 Implemented idle timeout functionality for both client and server. 2014-06-18 11:18:48 +02:00
Greg Wilkins 140e7ed0c5 encoder headers as lowercase 2014-06-18 10:22:23 +02:00
Greg Wilkins 7fa4f1e9f8 cleaned up authority handling 2014-06-17 19:40:09 +02:00
Simone Bordet 2b494fde0e Miscellaneous refactorings. 2014-06-17 16:23:06 +02:00
Simone Bordet 6d1e5c9a07 Fixed tests to make the generator and the parser have the same scope. 2014-06-17 11:04:32 +02:00
Greg Wilkins 25295456ae renamed HTTP/2.0 to HTTP/2 2014-06-17 00:12:57 +02:00
Greg Wilkins 272e1d8da5 Refactored HttpChannel to not have direct HttpParser dependency 2014-06-17 00:02:50 +02:00
Simone Bordet 334db9fe72 Updated version to 9.3.0-SNAPSHOT. 2014-06-16 21:33:03 +02:00
Simone Bordet 1d2690ed11 Removed unneeded reference to jetty-ssl.xml, implicitly referenced
transitively by the dependency on the ssl module.
2014-06-16 21:21:43 +02:00
Simone Bordet a6329451a1 Updated HTTP2 modules to be included in the distribution. 2014-06-16 18:15:13 +02:00
Simone Bordet 7613385578 Moved NPN[Client|Server]Connection[Factory] classes to their own
modules, akin for the ALPN classes, and refactored all code that was
referencing them.
2014-06-16 12:46:26 +02:00
Simone Bordet b3aa67e0a9 Implemented PING functionality. 2014-06-13 17:59:17 +02:00
Simone Bordet 8681511f08 Wrapping debug log statements with LOG.isDebugEnabled(). 2014-06-13 17:10:38 +02:00
Simone Bordet 388262227e Split the generation of frames into 2: flow-controlled and
non-flow-controlled.
This gives better code separation and proper removal of streams when
flow controlled frames complete.
2014-06-13 16:28:54 +02:00
Simone Bordet b30152df27 Removed generation of padding bytes, which simplified the code a lot.
Implemented slicing of flow controlled data to never exceed the flow
control window.
2014-06-13 14:08:56 +02:00
Simone Bordet 5ed4f312cd Implemented flow control. 2014-06-13 13:51:42 +02:00
Greg Wilkins 116d654426 cleaned up debug 2014-06-12 15:08:46 +02:00
Simone Bordet 22c42151bd Implemented logic to handle a GO_AWAY frame. 2014-06-11 22:43:08 +02:00
Simone Bordet 8e4c6b7fdd Put some more flesh on the HTTP2 implementation. 2014-06-11 18:26:48 +02:00
Simone Bordet 78cbed1236 Added headerTableSize parameter. 2014-06-11 18:24:02 +02:00
Greg Wilkins 1666f54b50 revert httpfields 2014-06-11 17:41:52 +02:00
Greg Wilkins f258ff1565 improved debug 2014-06-11 17:05:39 +02:00
Greg Wilkins 70223cbda9 add status 200 and method GET to ref set 2014-06-11 10:23:29 +02:00
Simone Bordet 7c5492acad Properly linking stream object with HEADERS frame. 2014-06-11 08:56:23 +02:00
Simone Bordet 3c6663ff21 Fixed parsing in case of zero-length header block and zero-length data. 2014-06-10 22:54:32 +02:00
Simone Bordet 13b0b90aa9 Fixed logging. 2014-06-10 22:54:32 +02:00
Greg Wilkins 6b77226517 improved debug 2014-06-10 20:28:52 +02:00
Simone Bordet 630bee5887 Implemented HTTP2 connection preface. 2014-06-10 18:33:13 +02:00
Greg Wilkins 29f8158b51 Merge branch 'jetty-http2' of ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.project into jetty-http2
Conflicts:
	jetty-http2/http2-server/src/test/resources/jetty-logging.properties
2014-06-10 16:42:15 +02:00
Greg Wilkins 24cda18114 http2 test server 2014-06-10 16:38:54 +02:00
Simone Bordet 36e7c41b2f Improved logging. 2014-06-10 16:02:24 +02:00
Greg Wilkins c8184077c7 added logging to hpack 2014-06-10 15:26:54 +02:00
Simone Bordet f2e8edca9c First working test for end-to-end request/response processing on
server side.
2014-06-10 13:29:50 +02:00
Simone Bordet ad034f4d54 Reworked generation of frames (split into different generators) and
sketched server-side handling and linking with channel.
2014-06-10 12:02:54 +02:00
Greg Wilkins b2296cc2d4 simplified startRequest 2014-06-09 14:12:46 +02:00
Simone Bordet c1247ff677 Reorganized HTTP2 modules. 2014-06-09 14:01:16 +02:00