Greg Wilkins
41050cd8a4
Issue #2081 No idle timeout exception when dispatch is delayed ( #2083 )
...
Issue #2081 No idle timeout exception when dispatch is delayed
* Delegate the readtimeout handling to HttpChannel so that a delayed dispatch can be ended.
* Added unit test for delayed dispatch idle
* Now using HttpInput.onIdleTimeout() to fail the HttpInput, and then dispatching the request in case it has not been dispatched yet. This ensure consistent behavior independently of the value of HttpConfiguration.delayDispatchUntilContent.
* Fixed for both HTTP/1.1 and HTTP/2.
* Added tests for non-blocking reads.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-04 13:26:31 +01:00
Simone Bordet
e86e8a752c
Issue #1973 - Implement minimum response data rate ( #2012 )
...
* Code cleanups.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Improved test case handler.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Improved exception message.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Issue #1973 - Implement minimum response data rate.
Implemented response content data rate control in HttpOutput.
Introduced a WriteFlusher.Listener interface that produces events
for every flush(). These events are forwarded to the Connection
and from there to the HttpOutput so that the data rate control can
be enforced.
Both HTTP/1.1 and HTTP/2 are implemented.
Data rate control for HTTP/1.1 is approximate because it will count
also headers bytes and the chunk bytes, while for HTTP/2 is precise.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Issue #1973 - Implement minimum response data rate.
Addressed review comments.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-27 15:07:32 +01:00
Simone Bordet
d88e2b767f
Fixes #2037 - HTTP/2 stream reset leaves stream frames in the flusher.
...
Now waking up the flusher via iterate() after a reset has been received.
This ensures that frames that may have stalled are removed from the
flusher queue.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-11 10:57:13 +01:00
Joakim Erdfelt
ff53002fac
Updating to version 9.4.9-SNAPSHOT
2017-11-21 13:11:31 -07:00
Joakim Erdfelt
82b8fb23f7
Updating to version 9.4.8.v20171121
2017-11-21 12:33:52 -07:00
Simone Bordet
4236f14955
Fixes #1891 - Make HTTP/2 async error notifications configurable.
...
Introduced HttpConfiguration.notifyRemoteAsyncErrors, true by default.
2017-10-12 12:13:02 +02:00
Greg Wilkins
35d0b59434
Issue #215 Conscrypt module for SSL and ALPN
...
Upgraded to RC11
2017-09-26 10:09:30 +10:00
Joakim Erdfelt
d9865a02ba
Updating to version 9.4.8-SNAPSHOT
2017-09-14 08:44:27 -07:00
Joakim Erdfelt
80fb788d0c
Updating to version 9.4.7.v20170914
2017-09-14 07:35:18 -07:00
Simone Bordet
006dee439f
Code cleanups.
...
Added TODOs to remember the link between the HTTP2Connection
fill callback and HTTP2ConnectionFactory.reservedThreads.
2017-09-08 10:52:40 +02:00
Simone Bordet
7e764bad3e
Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'.
2017-08-22 19:33:46 +02:00
Simone Bordet
f9ff9e1226
Issue #1759 - HTTP/2 producer can block in onReset.
...
Because now the failures are asynchronous, code that was executed after
invoking the failure listener must be now executed after the
asynchronous processing done by the listener and therefore Callbacks
are introduced.
2017-08-22 15:54:40 +02:00
Simone Bordet
cd08d2502f
Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'.
2017-08-21 17:00:05 +02:00
Simone Bordet
154824049b
Issue #1759 - HTTP/2 producer can block in onReset.
...
Now both failures and timeouts, when they must call the application,
do so by dispatching a Runnable to avoid to block the caller thread.
2017-08-21 15:53:56 +02:00
Simone Bordet
87d090e062
Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'.
2017-08-11 16:42:21 +02:00
Simone Bordet
d3d02f227e
Fixes #1719 - Improve handling of HTTP/2 queued requests.
...
Idle timeout have a special meaning in that they become a no-operation
if the application is dispatched but idle (neither reading nor writing).
HttpChannelOverHTTP2 now forwards the idle timeout to HttpInput, which
will only change its state if it is interested in reading.
HttpInput.consumeAll() has been modified to consume all input even if
it's already failed.
Failures caused by the other peer (e.g. I/O failures or stream resets)
are now retained and will eagerly consumed any queued data to free up
the flow control windows.
2017-08-09 16:21:53 +02:00
Simone Bordet
93e8af1db5
Refactored isRequestHandled() logic to use HttpChannelState.
2017-08-09 10:25:47 +02:00
Joakim Erdfelt
1311052b15
Cleaning up state of branch to match the original jetty-9.4.x
...
+ Does not include changes to /jetty-cdi/
+ Does not include changes to /jetty-websocket/ for javax.websocket-1.1
2017-08-08 09:47:04 -07:00
Joakim Erdfelt
585f126b48
Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x-clean
2017-08-08 09:24:41 -07:00
Simone Bordet
f04f486f94
Fixes #1687 - Missing callback notification when channel not found.
2017-08-08 09:15:20 -07:00
Greg Wilkins
a105be95e4
Issue #1637 Thread per HTTP/2 Connection
...
This fix simplifies the EWYK scheduler by factoring out the preallocated producer into a
ReservedThreadExecutor class. A shared ReservedThreadExecutor can then be used by multiple
EWYK instances to avoid over allocation of threads.
Squashed commit of the following:
commit c435dc20e25bd274d69423be1be7b0565925f249
Merge: 58a5a9a 90e5b56
Author: Greg Wilkins <gregw@webtide.com>
Date: Wed Jun 21 10:48:22 2017 +0200
Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk3
commit 58a5a9a655ee1a72a66f54ac8c95d7c9d73afe85
Author: Simone Bordet <simone.bordet@gmail.com>
Date: Wed Jun 14 15:56:43 2017 +0200
Code cleanups.
commit 4e5296216b52948523572352cba391438ff6b494
Author: Greg Wilkins <gregw@webtide.com>
Date: Wed Jun 14 07:34:58 2017 +0200
refixed Producing to Reproducing
commit a1f8682f86d1f0803121162e3f14d7768286d3ed
Author: Greg Wilkins <gregw@webtide.com>
Date: Wed Jun 14 07:26:29 2017 +0200
fixed Producing to Reproducing
commit 9468932e062d2271d8dc1d43a78544757732fff5
Author: Greg Wilkins <gregw@webtide.com>
Date: Tue Jun 13 16:33:44 2017 +0200
fixed javadoc
commit 9d4941eb97638fec09b3fe34d423538d17943b6f
Author: Greg Wilkins <gregw@webtide.com>
Date: Tue Jun 13 16:05:27 2017 +0200
Renamed Preallocated to ReservedThread
commit 6d3379ab64c6dcc2a7aa8ec7088afd77863816c2
Author: Greg Wilkins <gregw@webtide.com>
Date: Tue Jun 13 12:28:52 2017 +0200
Added configuration in modules
commit 1bd1adea4682538e1546c2ae53f4c9340dafb3bb
Merge: 83418a9 6702248
Author: Greg Wilkins <gregw@webtide.com>
Date: Tue Jun 13 10:09:29 2017 +0200
Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk3
commit 83418a91320c8bfc54465ca02efdce0d2c874a0e
Author: Greg Wilkins <gregw@webtide.com>
Date: Tue Jun 13 10:08:35 2017 +0200
javadoc
commit 62918fd39189fed3414fec4a7c8380c21e90a4b8
Author: Greg Wilkins <gregw@webtide.com>
Date: Sat Jun 10 00:04:06 2017 +0200
Improved EatWhatYouKill implementation
Simplified by abstracting out PreallocatedExecutor
Removed invocation execution
HTTP2 now uses a shared PreallocationExcecutor between connection
2017-08-08 09:13:44 -07:00
Joakim Erdfelt
a7bcac6d75
Updating to version 9.3.20.v20170531
2017-08-08 09:07:35 -07:00
Joakim Erdfelt
11a544d6ac
Updating to version 9.3.22-SNAPSHOT
2017-08-01 11:26:37 -07:00
Joakim Erdfelt
bb1d69ca52
Updating to version 9.3.21.M0
2017-08-01 10:47:04 -07:00
Simone Bordet
bfecc82ad1
Fixes #1687 - Missing callback notification when channel not found.
2017-07-24 11:35:41 +02:00
Joakim Erdfelt
6a3c40e935
Updating to version 9.4.7-SNAPSHOT
2017-05-31 17:26:34 -07:00
Joakim Erdfelt
8ba0f2d95d
Updating to version 9.4.6.v20170531
2017-05-31 16:22:52 -07:00
Joakim Erdfelt
429380d36a
Updating to version 9.3.21-SNAPSHOT
2017-05-31 16:10:04 -07:00
Joakim Erdfelt
0f3b1cbe36
Updating to version 9.3.20.v20170531
2017-05-31 15:24:57 -07:00
Joakim Erdfelt
cf56168f7d
Updating to version 9.3.20-SNAPSHOT
2017-05-02 15:26:56 -07:00
Joakim Erdfelt
d36d57d5c7
Updating to version 9.3.19.v20170502
2017-05-02 14:31:51 -07:00
Joakim Erdfelt
782f36f157
Updating to version 9.4.6-SNAPSHOT
2017-05-02 14:29:09 -07:00
Joakim Erdfelt
9d8ad7489c
Updating to version 9.4.5.v20170502
2017-05-02 13:22:18 -07:00
Simone Bordet
17caad898b
Fixes #1506 - Make HttpChannels recycling configurable for HTTP/2.
2017-04-26 21:10:34 +02:00
Simone Bordet
8c26eddbc6
Fixes #1504 - Improve defaults for HTTP/2 flow control.
...
Defaults are now 16/8 MiB on the client, and 1/0.5 MiB on the server
for session/stream.
2017-04-26 10:43:54 +02:00
Simone Bordet
f28a777662
Fixes #1404 - Jetty 9.4.2 does not support constructors with varargs in XML config files.
...
The issue was caused by a missing @Name annotation on the "protocols" parameter.
2017-04-21 11:06:49 +02:00
Joakim Erdfelt
92ea5bda21
Updating to version 9.4.5-SNAPSHOT
2017-04-14 14:43:36 -07:00
Joakim Erdfelt
3dc8f557c6
Updating to version 9.4.4.v20170414
2017-04-14 13:20:17 -07:00
Simone Bordet
2dce90c98d
Improved handling of asynchronous failures.
2017-04-12 12:21:08 +02:00
Joakim Erdfelt
9e2aeda052
Updating to version 9.3.19-SNAPSHOT
2017-04-06 07:47:53 -07:00
Joakim Erdfelt
63273aa40b
Updating to version 9.3.18.v20170406
2017-04-06 06:31:02 -07:00
Simone Bordet
c285d6f8bb
Fixes #612 - Support HTTP Trailer.
...
Added support on both the server and the client, for HTTP/1 and HTTP/2.
2017-04-03 22:25:50 +02:00
Greg Wilkins
1a0b2dfdb5
Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x
2017-03-30 13:47:47 +11:00
John Gardiner Myers
9496cef9b2
Allow for easier subclassing of the HttpChannelOverHTTP2. ( #1421 )
...
Signed-off-by: John Gardiner Myers <jgmyers@proofpoint.com>
2017-03-30 12:17:52 +11:00
Joakim Erdfelt
1360b863dc
Updating to version 9.4.4-SNAPSHOT
2017-03-17 10:53:54 -07:00
Joakim Erdfelt
95e94b49d8
Updating to version 9.4.3.v20170317
2017-03-17 09:54:58 -07:00
Joakim Erdfelt
a6a0ab991f
Updating to version 9.3.18-SNAPSHOT
2017-03-17 09:48:19 -07:00
Joakim Erdfelt
307d23975e
Updating to version 9.3.17.v20170317
2017-03-17 09:07:39 -07:00
Joakim Erdfelt
523fab30bd
Updating to version 9.4.3-SNAPSHOT
2017-02-20 08:13:31 -07:00
Joakim Erdfelt
4a674b9cc9
Updating to version 9.4.2.v20170220
2017-02-20 06:22:45 -07:00