Commit Graph

909 Commits

Author SHA1 Message Date
Simone Bordet 0f97c3df5d Fixes #966 - Remove usages of ConcurrentArrayQueue. 2016-09-28 11:40:39 +02:00
Simone Bordet efe339e246 Code cleanup. 2016-09-28 11:40:39 +02:00
Simone Bordet 2111775cb4 Fixes #131 - Improve Connector Statistic names and values. 2016-09-14 14:01:30 +02:00
Simone Bordet 89b20b4692 Merged branch 'jetty-9.3.x-845'. 2016-09-05 21:36:04 +02:00
Greg Wilkins 13696b54f2 Issue #890 Review MappedByteBuffer
Moved newByteBuffer to a default method on ByteBufferPool
preallocate newBuffer function
clear buckets
2016-09-01 08:26:50 +10:00
Greg Wilkins 34f22dcbce Issue #845 data rate limits
Added data rate unit tests
2016-08-16 17:09:46 +10:00
Greg Wilkins 3d93d39b39 Issue #845 data rate limits
Initial thoughts
2016-08-16 16:24:14 +10:00
Greg Wilkins 84efe1e438 increased test idletimeout 2016-08-05 14:11:30 +10:00
Simone Bordet 6a15bbfb2b Issue #751 - Remove usages of ArrayQueue. 2016-07-21 17:55:48 +02:00
Greg Wilkins adf3281ba8 Issue #696 Improve testing of LocalConnector
Fixed some races in the implementation
2016-07-08 21:15:36 +10:00
Greg Wilkins 183e3acabb Issue #695 improve getResponse methods 2016-07-07 16:36:46 +10:00
Greg Wilkins 3a52b46115 Provisional fix for #681 2016-07-01 15:05:27 +10:00
Greg Wilkins a2309057dc Test Harness for #596
Test harness to try to repeat problem with #596 of content-length added to a HEAD response.

In the process added a much better getResponse mechanism to the local connector that avoids
using the idle time.
2016-06-03 14:15:25 +10:00
Greg Wilkins ec7871718c added delay to improve SSL tcpClose test 2016-06-02 17:38:36 +10:00
Simone Bordet f3a805887e Fixes #542 - Support Connection.Listener bean on clients.
Introduced ClientConnectionFactory.customize() to look for
Connection.Listener beans.
ClientConnectionFactory implementation calls customize() when they
create a Connection instance, so the Connection.Listener beans are
registered onto the Connection.
2016-05-25 19:27:08 +02:00
Simone Bordet 4762a6eaa3 Issue #464 - Improve reporting of SSLHandshakeException.
Making sure that the raw EndPoint is closed if the decrypted EndPoint
output is shutdown when the input is also shutdown.
2016-05-25 00:52:10 +02:00
Simone Bordet ddddc3a675 Fixes #574 - Introduce a TLS handshake completed listener.
Introduced class SslHandshakeListener that can be registered as a
bean in both the ServerConnector and in clients such as HttpClient
and HTTP2Client.

When creating SslConnection instances, the factory will query the
connector (client or server) for SslHandshakeListener beans and, if
present, will be added to the SslConnection.
2016-05-24 16:09:19 +02:00
Simone Bordet d73c60db14 Issue #464 - Improve reporting of SSLHandshakeException. 2016-05-24 11:15:18 +02:00
Simone Bordet f95daca8b4 Code cleanups. 2016-05-24 11:15:18 +02:00
Simone Bordet 016fc6569f Fixes #558 - HTTP/2 server hangs when thread pool is low on threads.
Modified ExecuteProduceConsume to test for Rejectable tasks when
trying to execute a task in low threads mode, and if so, reject them
immediately.
2016-05-12 00:13:35 +02:00
Simone Bordet caa45283c7 Fixes #547 (ExecuteProduceConsume (EWYK) does not exit low threads mode)
Exposed getters/setters for ExecutionStrategy.Factory in
ServerConnector and SelectorManager, to allow explicit configuration
and testing.

Added test to verify that EPC exits low threads mode.
2016-05-06 17:10:46 +02:00
Simone Bordet 61f9192e58 Renamed field to better tell what's doing. 2016-05-06 17:10:46 +02:00
Simone Bordet 2ac1b73b55 Added the connection's hashCode to toString().
This would be useful in dump() where it would be possible to link the
EndPoint to the Connection.
2016-05-03 10:51:20 +02:00
Greg Wilkins fbdd5e1da6 Issue #432 Limit queue size in ByteBufferPools
Created a shared Bucket instance that can count down available space.
2016-04-24 09:58:38 +10: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
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
Simone Bordet 8ad0944732 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-03-07 16:04:46 +01:00
Simone Bordet d36e5864db Issue #377 (HttpClient - No supported cipher suites leads to stuck requests)
Fixed by rethrowing the exception thrown by onOpen() so that the
SelectorManager can act appropriately.
2016-03-07 15:20:12 +01:00
Simone Bordet 7e7b126847 Issue #362 (Very slow page load and missing resources when using HTTP/2 with Jetty 9.3.7)
The issue happened when the selector was both read ready and write
ready. In that case fillable() was called before completeWrite(),
causing the reader thread to read, parse, call the application which
performed a blocking write, thus never returning to call
completeWrite().

Inverting the calls (first completeWrite() then fillable()) solves
the issue because completeWrite() never calls application code.
2016-03-01 22:08:02 +01:00
Simone Bordet 2e62bca2ea Issue #251 (Consider removing SSLEngine.beginHandshake() calls).
Removed SSLEngine.beginHandshake() calls.
2016-02-19 16:33:55 +01:00
Simone Bordet 519734bec4 Fixed usage of volatile reference. 2016-02-19 11:36:06 +01:00
Greg Wilkins 1b87db6782 486930 - Selector does not correctly handle rejected execution exception
ignoring the test harness, as it does not work from command line?
2016-02-02 16:11:00 +01:00
Greg Wilkins 7ec6e2e899 486930 - Selector does not correctly handle rejected execution exception
Improved comments and unit test
2016-02-01 17:18:42 +01:00
Greg Wilkins c81dcfc790 486930 - Selector does not correctly handle rejected execution exception
This fix work in two ways:

1) Both the PEC and EPC strategies when confronted with a
RejectedExecutionException will continue to Produce rather than consume.

2) If a produced Runnable cannot be consumed and it supports the new Rejectable interface,
then it's reject() method is called by the producer thread.    Typically this is implemented
to close the connection - with the risk being that the close might block, but that is
probably better than leaking the connection?
2016-02-01 17:10:24 +01:00
Joakim Erdfelt cd39fd84fe Happy New Year 2016 2016-01-04 14:31:22 -07:00
Joakim Erdfelt b5db18378d Happy New Year 2016 2016-01-04 14:21:26 -07:00
Simone Bordet 6d1027eaff Removed caching of debug log level.
It is useful to be able to change the log level via JMX for debugging purposes.
2016-01-04 12:46:43 +01:00
Simone Bordet 35c4c24099 484718 - Review idle timeout handling.
Introduced Connection.onIdleExpired().
2015-12-21 11:47:05 +01:00
Simone Bordet bcd282a8dd Updated javadocs and added missing removeListener() method. 2015-12-21 11:47:05 +01:00
Simone Bordet 973d95c8bc Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2015-11-04 18:36:36 +01:00
Simone Bordet ea04e59637 Fixed typo in logging statement. 2015-11-04 18:18:25 +01:00
Simone Bordet 3fc6320881 Using EndPoint.upgrade() in client code when connections are upgraded
and removed ClientConnectionFactory.Helper.
2015-10-21 14:32:37 +02:00
Greg Wilkins b2f8192c7b 478923 - threads stuck at SharedBlockingCallback$Blocker.block
Fixed the failure path so that it also checks for non blocking callbacks
and directly calls them
2015-10-07 15:11:53 +11:00
Simone Bordet 90743d301a Improved toString().
Changes imported manually from branch 9.2.x.
2015-09-29 12:06:01 +02:00
Simone Bordet 1f2f62cff4 Revert "Merged branch 'jetty-9.2.x' into 'master'."
This reverts commit 701ca1aa26, reversing
changes made to 64ba5a6ef8.
2015-09-29 11:31:56 +02:00
Simone Bordet 9549b32ea6 Revert "Merged branch 'jetty-9.2.x' into 'master'."
This reverts commit db61fc2a47.
2015-09-29 11:31:03 +02:00
Simone Bordet db61fc2a47 Merged branch 'jetty-9.2.x' into 'master'. 2015-09-29 09:43:12 +02:00
Simone Bordet 701ca1aa26 Merged branch 'jetty-9.2.x' into 'master'. 2015-09-29 09:42:28 +02:00
Simone Bordet fd5c5b5779 Improved toString(). 2015-09-28 19:23:50 +02:00
Simone Bordet 7057dae67b 475927 - SecureRequestCustomizer fails to match host.
Fixed by storing in the SSLSession the SNI names correspondent to the
alias that was selected when the TLS connection was initiated.
2015-08-26 20:36:43 +02:00