Commit Graph

86 Commits

Author SHA1 Message Date
Simone Bordet 420ec7cc1d
HTTP/2 improvements. (#9749)
* Implemented a few required error handlings.
* Changed `Parser.init()` to directly take the listener, rather than wrapping it.
  The reason for this change was to be able to reconfigure the Parser upon receiving a SETTINGS frame.
* Initially setting the encoder and decoder max table capacity at the default of 4096, as per spec.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-27 19:14:01 +02:00
Lachlan 6e8457cfde
Fixes to QPACK configuration from SETTINGS frames. (#9728)
* Improved configuration upon sending/receiving SETTINGS frames.
* Improved handling of blocked frames in HTTP3StreamConnection.
* Fixed locking and reentrance in QPACK encoder/decoder.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-15 15:07:33 +02:00
Ludovic Orban 7ac49cd43c
H3: Fix racy read from stream-less channel (#9761)
* #9655 introduce new Stream.Client.Listener.onNewStream() method to allow setting the channel's stream before sending any data to the network

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-15 09:50:36 +02:00
Joakim Erdfelt ca3c1756ad
Updating to version 10.0.16-SNAPSHOT 2023-04-11 13:23:25 -05:00
Joakim Erdfelt 68017dbd00
Updating to version 10.0.15 2023-04-11 12:24:32 -05:00
Olivier Lamy e62cc0344a Updating to version 10.0.15-SNAPSHOT 2023-03-01 18:55:10 +10:00
gregw 7a7d69a69f Happy no year
Remove modification date from copyright notice and instead just have the
project inception year.

Signed-off-by: gregw <gregw@webtide.com>
2023-02-15 15:22:32 +11:00
Joakim Erdfelt 54c4c03244
Updating to version 10.0.14-SNAPSHOT 2022-12-07 14:33:17 -06:00
Joakim Erdfelt 1c2636ea05
Updating to version 10.0.13 2022-12-07 14:12:50 -06:00
Olivier Lamy dbd07146ec
merge back release branch to bump version to 10.0.13-SNAPSHOT (#8593)
* Updating to version 10.0.12

* Updating to version 10.0.13-SNAPSHOT

* VERSION.TXT =+ content of jetty-9.4.49.v20220914 release

* remove strange line and reorder
2022-09-16 19:50:12 +10:00
Joakim Erdfelt 64d12e2a5a
Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194)
* Updating to version 10.0.11

* Updating to version 10.0.12-SNAPSHOT
2022-06-22 16:24:48 -05:00
Joakim Erdfelt c2bc103cb9
Merge Release 10.0.10 back into `jetty-10.0.x` (#8180)
* Updating to version 10.0.11-SNAPSHOT
2022-06-21 14:41:41 +02:00
Greg Wilkins 7a1c165677
Implement #8057 103 Early Hint (#8058)
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2022-06-01 11:56:54 +10:00
Joakim Erdfelt 16420f0181
Set version to `10.0.10-SNAPSHOT` (#7823)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-04-03 20:33:44 +10:00
Joakim Erdfelt f079949a35
Merge Release 10.0.9 (#7821)
* Updating to version 10.0.9

* Updating to version 10.0.10
2022-04-02 08:43:44 -05:00
Simone Bordet 55eb982185
Fixes #7625 - HTTP/3 error against www.google.com
Now properly handling QPACK and HTTP/3 settings.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-02-22 11:36:37 +01:00
Simone Bordet a4fda96f49
Updating to version 10.0.9-SNAPSHOT 2022-02-07 12:02:02 +01:00
Simone Bordet 716c7afd8e
Updating to version 10.0.8 2022-02-07 11:34:12 +01:00
Joakim Erdfelt cb127793e5
Happy New Year 2022 (#7459)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-01-27 10:42:30 -06:00
Simone Bordet b385cf930e
Issue #6728 - QUIC and HTTP/3
Fixed HTTP/3 POM files.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 10:10:05 +01:00
Simone Bordet e8c6fcf975 Issue #6728 - QUIC and HTTP/3
Fixed javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 9231d43308 Issue #6728 - QUIC and HTTP/3
Added more logging about HTTP/3 being experimental.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 3329604585 Issue #6728 - QUIC and HTTP/3
- Fixed javadoc error.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 64296f76f1 Issue #6728 - QUIC and HTTP/3
- Split Stream in Stream.Client and Server.Server, so segregate client-specific actions and events.
Now, only Stream.Server has method respond(), and only Stream.Client.Listener has method onResponse().
- Improved javadocs, and updated javadoc module to create javadocs for both http3 and quic modules.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 4d778b1aff Issue #6728 - QUIC and HTTP/3
- Fixed session failure notification.
Now the failure is propagated to listeners.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 521a0adf0e Issue #6728 - QUIC and HTTP/3
- Improved close mechanism.
Now error and reason are propagated at the HTTP/3 level, in case e.g. applications want to take statistics about the error codes.
- Improved buffer handling to be sure they are properly released back to the pool.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet aadc86d36a Issue #6728 - QUIC and HTTP/3
- More fixes and improvement to HTTP client transport tests.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 40aba07e33 Issue #6728 - QUIC and HTTP/3
- More work on making HTTP semantic layer work on top of HTTP/3.
- Various fixes and improvement to HTTP client transport tests.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 3585b408b7 Issue #6728 - QUIC and HTTP/3
- Made sure Connection.Listeners are properly notified.
- Fixed removal of QuicStreamEndPoints from QuicSession in case of successful request/response exchanges.
- Avoid spurious wakeups by shutting down input after receiving a frame with last=true.
- Updated HttpClient transport tests to work with UNIX_DOMAIN.
- Started updating HttpClient transport tests to work with HTTP/3.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet af885c3b49 Issue #6728 - QUIC and HTTP/3
- Improvements to the thread model implementation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 0b5241df6b Issue #6728 - QUIC and HTTP/3
- WIP on the client upper layer.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet dd4b970357 Issue #6728 - QUIC and HTTP/3
- WIP on the threading model.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet a803dfa44f Issue #6728 - QUIC and HTTP/3
- Improved configuration of client and server.
- Started implementation of HttpClientTransportOverHTTP3.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet a0399a2e30 Issue #6728 - QUIC and HTTP/3
- Improved configuration of client and server.
- Implemented handling of QPACK exceptions.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 24840a6ede Issue #6728 - QUIC and HTTP/3
- Updated to 10.0.8-SNAPSHOT.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 9a84bbbb71 Issue #6728 - QUIC and HTTP/3
- Implemented graceful shutdown functionality.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 392d59e9f7 Issue #6728 - QUIC and HTTP/3
- Implemented component hierarchy.
- Implemented dumpability of components.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 16a91b04a8 Issue #6728 - QUIC and HTTP/3
- Fixed configuration of QuicConnection.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet cd161b491e Issue #6728 - QUIC and HTTP/3
- Implemented goAway mechanism.
- Implemented idle timeout mechanism.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 3c2feabaf6 Issue #6728 - QUIC and HTTP/3
- Implemented GOAWAY parsing/generation.
- Implemented handling of GOAWAY frames.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet f061cc41db Issue #6728 - QUIC and HTTP/3
- Added more configuration properties.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet a44984e6e4 Issue #6728 - QUIC and HTTP/3
- Avoid leaking stream instances.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet c8107539df Issue #6728 - QUIC and HTTP/3
- Implemented stream idle timeouts.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 2b966c04ee Issue #6728 - QUIC and HTTP/3
- Fixed module-info.java canonical ordering.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet dc889bd7d8 Issue #6728 - QUIC and HTTP/3
- Initial support for closing HTTP/3 sessions and session failure events.
- Enforced HTTP/3 frame sequence.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 2e98931654 Issue #6728 - QUIC and HTTP/3
- Fixed module-info.java for HTTP/3 modules.
- Updated package-info.java for QUIC.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 4bee790c04 Issue #6728 - QUIC and HTTP/3
- Added javadocs.
- Fixed race condition in processDataDemand().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 87edb609bd Issue #6728 - QUIC and HTTP/3
- Updates to the data support after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 43551487ee Issue #6728 - QUIC and HTTP/3
- Implemented data support.
- Implemented trailer support.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet fcdabeb933 Issue #6728 - QUIC and HTTP/3
- Changed the parsers to emit during parsing, rather than returning the event.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00