Commit Graph

258 Commits

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