78 Commits

Author SHA1 Message Date
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