Commit Graph

2170 Commits

Author SHA1 Message Date
Simone Bordet 3d6578deee Issue #6728 - QUIC and HTTP/3
Updates after merge of #7100.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet c879358777 Issue #6728 - QUIC and HTTP/3
- QPACK exceptions now use long instead of int, to be consistent with other error codes.
- Fixed ManagedSelector to count down the stop latches in finally blocks, so that they are always counted down even in case of exceptions.
- Improved exception handling in case of closes.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Ludovic Orban b8f39b5b2c get rid of HttpClientTransportOverQuic and IClientConnector
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-12-20 09:33:38 +01:00
Ludovic Orban fe5c65820d introduce IClientConnector interface
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-12-20 09:33:38 +01:00
Ludovic Orban fc25540331 align ServerDatagramEndPoint with SocketChannelEndPoint
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-12-20 09:33:38 +01:00
Ludovic Orban 9d0b7f71ac add licenses + fix checkstyle + modularize
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-12-20 09:33:38 +01:00
Ludovic Orban e1cd6956f4 encode address into buffers
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-12-20 09:33:38 +01:00
Ludovic Orban 340eb46b43 cleanups
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-12-20 09:33:38 +01:00
Ludovic Orban 45e45e6cf2 kinda sorta working datagram connector
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-12-20 09:33:38 +01:00
Ludovic Orban 4068901c14 #7243 ByteBufferPool and RetainableByteBufferPool now reset the buffer's endianness on release
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-12-09 12:44:12 +01:00
Lachlan 9b501022d5
Merge pull request #7166 from eclipse/jetty-10.0.x-6974-ByteBufferPool
Issue #6974 - improvements & fixes to ByteBufferPool implementations (#7017)
2021-12-03 14:46:16 +11:00
Simone Bordet cb25a83667
Issue #6728 - Prepare for QUIC and HTTP/3 (#7100)
* Issue #6728 - QUIC and HTTP/3

Modifications to Jetty to prepare for QUIC/HTTP3.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-01 09:39:51 +01:00
Lachlan Roberts 74785dd023 Issue #6974 - improve testMaxMemory for Array & Mapped ByteBufferPools
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-11-29 14:41:51 +11:00
Lachlan Roberts aa09b8b7bd Issue #6974 - allow empty buffers to be pooled
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-11-29 14:06:20 +11:00
Lachlan Roberts 377d0d131e Issue #6974 - fix bug in ByteBufferPool implementations
If an allocation size of 0 was requested bucketFor would throw.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-11-26 17:30:14 +11:00
Lachlan c19921e60f Issue #6974 - improvements & fixes to ByteBufferPool implementations (#7017)
- WebSocket should user server ByteBufferPool if possible
- fix various bugs ByteBufferPool implementations
- add heuristic for maxHeapMemory and maxDirectMemory
- Add dump for ByteBufferPools
- add LogArrayByteBufferPool that does exponential scaling of bucket size.
- ByteBufferPools should default to use maxMemory heuristic
- Add module jetty-bytebufferpool-logarithmic

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2021-11-25 10:42:47 +11:00
Joakim Erdfelt cfc67f86d2 Updating to version 10.0.8-SNAPSHOT 2021-10-06 14:51:32 -05:00
Joakim Erdfelt da8a4553af Updating to version 10.0.7 2021-10-06 14:32:37 -05:00
Simone Bordet 0412bdc3d9 Fixes #6938 - module-info.java file do not use the canonical order for the elements
Changed order of entries in module-info.java to be canonical

(cherry picked from commit 02691171d5)
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-10-01 09:25:55 +02:00
Olivier Lamy 51d44a3401
use dependencyManagement for internal dependencies (#6940)
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2021-09-30 16:57:19 +10:00
Greg Wilkins aa793eeafe
Jetty 10.0.x 6497 alias checkers alt (#6681)
* Issue #6497 - Replace the Alias checkers with new implementation.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
2021-09-21 18:35:51 +10:00
Simone Bordet e2690cc420
Fixes #6603 - HTTP/2 max local stream count exceeded (#6639) (#6682)
* Fixes #6603 - HTTP/2 max local stream count exceeded (#6639)

Made MAX_CONCURRENT_STREAMS setting work on a per-connection basis.
Updated Pool javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
(cherry picked from commit 525fcb3119)
2021-09-01 10:27:40 +02:00
Lachlan Roberts 763820e111 ByteBufferCallbackAccumulator.writeTo should do buffer flipping
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-30 14:58:16 +10:00
Lachlan Roberts b2657f1376 fix broken tests: use buffer.remaining() instead of BufferUtil.space()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-30 12:45:32 +10:00
Lachlan Roberts 7569e4b07a Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-6566-WebSocketMessageSinks 2021-08-27 17:21:53 +10:00
Lachlan Roberts 1dce9df48d Issue #6566 - cleanups of ByteBufferCallbackAccumulator
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-27 11:49:18 +10:00
Lachlan Roberts 83f2265653 Issue #6642 - never shutdown output after generating a request.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-26 14:18:28 +10:00
Joakim Erdfelt 54edcefd66 Issue #6661 - Make ServerConnector socket options setting optional 2021-08-24 16:45:06 -05:00
Lachlan Roberts bd396f867b Fix some more unstable tests.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-19 20:43:13 +10:00
Lachlan Roberts 026261f482 Issue #6566 - use counter in BufferCallbackAccumulator, fix InputStreamMessageSinkTest failures
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-18 17:10:12 +10:00
Lachlan Roberts 5236e47c42 Issue #6566 - utilise the demand interface in the websocket MessageSinks
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-18 11:04:14 +10:00
Lachlan Roberts cc3a75937c Issue #6566 - Create BufferCallbackAccumulator to accumulate buffers with their callbacks
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-18 10:57:46 +10:00
Simone Bordet dbc0ce7c13
Fixes #6372 - Review socket options configuration (#6610)
* Fixes #6372 - Review socket options configuration

Introduced in ClientConnector:

* tcpNoDelay
* reusePort
* receiveBufferSize
* sendBufferSize

Reworked configuration of socket options in ClientConnector.
JMX-ified ClientConnector.

Introduced reusePort in ServerConnector.
Updated server modules with the new reusePort property.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-08-13 17:39:52 +02:00
Ludovic Orban c818581185 #6327 more latches, less sleeps
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Ludovic Orban 6881ee9a6a #6327 make SelectorManagerTest.testConnectTimeoutBeforeSuccessfulConnect always enabled, using latches and less wasteful timeouts
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Simone Bordet 49a08450c2
Fixes #6043 - Reimplement UnixSocket support based on Java 16. (#6522)
Fixes #6043 - Reimplement UnixSocket support based on Java 16.

* Introduced new module "jetty-server-unixdomain".
It uses reflection to access the Java 16 Unix-Domain classes to keep compatibility with the other modules and the build.
* Added Jetty module with only HTTP/1.1 support for now (requires review of the modules to reuse them with various connectors).
* Updated documentation to mention UnixDomainServerConnector.
* Updated client libraries to support Unix-Domain.
* Updated PROXY protocol implementation to support Unix-Domain.
* Replaced unix.socket.tmp with better named jetty.unixdomain.dir property.
Defaulted jetty.unixdomain.dir property to system property user.home under Windows.
Simplified code that runs Unix-Domain tests.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-08-05 10:04:37 +02:00
Greg Wilkins d781ec3546
Improve #6322 extensible ArrayRetainableByteBufferPool (#6538)
Add a exponential bucket size impl to test ArrayRetainableByteBufferPool extensibility

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-07-26 10:43:50 +10:00
Ludovic Orban c9a5d8df58 #6322 Use RetainableByteBuffer and write a new pool for it
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-07-24 11:14:21 +02:00
Joakim Erdfelt c245a70893 Updating to version 10.0.7-SNAPSHOT 2021-06-29 10:51:22 -05:00
Joakim Erdfelt 37e7731b4b Updating to version 10.0.6 2021-06-29 10:27:56 -05:00
Simone Bordet b8d6e3f010
Fixes #6410 - Use SocketAddress instead of InetSocketAddress. (#6414)
* Fixes #6410 - Use SocketAddress instead of InetSocketAddress.

Removed usages of InetSocketAddress in method signatures where possible.
Deprecated old methods, and added new methods with SocketAddress.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-06-17 10:18:08 +02:00
Greg Wilkins a415606e01
Rename EWYK The AdaptiveExecutionStrategy (#6353)
Rename EWYK to AdaptiveExecutionStrategy, which better represents the nature of the strategy.

Updated the documentation 
Refactored substrategy selection for code clarity.
Added notes about chaining strategies and thread starvation

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2021-06-16 17:22:08 +10:00
Joakim Erdfelt 9d2d1e29b7 Updating to version 10.0.6-SNAPSHOT 2021-06-11 09:42:42 -05:00
Joakim Erdfelt dc21b2d73c Updating to version 10.0.5 2021-06-11 09:18:00 -05:00
Ludovic Orban 33c1b14ada #6379: requeue at the tail to reduce contention + use a simpler concurrent queue implementation
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-06-10 15:45:11 +02:00
Joakim Erdfelt 987066aac1 Updating to version 10.0.5-SNAPSHOT 2021-06-04 13:28:47 -05:00
Joakim Erdfelt 5523480c54 Updating to version 10.0.4 2021-06-04 13:09:44 -05:00
Simone Bordet 21aba4a724 Fixes #6323 - HttpClient requests with redirects gets stuck/never calls onComplete()
* Reworked the total timeout handling.
* Now a CyclicTimeouts handles the exchanges in each HttpDestination,
and a CyclicTimeouts handles the exchanges in each HttpConnection
(rather than in HttpChannel).
* Now adjusting the total timeout for copied requests generated by
redirects and authentication.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 2e7d17400f)
2021-06-04 12:12:40 +02:00
Simone Bordet c151b04535 Fixes #5931 - SslConnection should implement getBytesIn()/getBytesOut(). (#6335)
Updated ConnectionStatistics to report both the stats of all connections,
and the stats grouped by connection class.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit f902d12fe8)
2021-06-03 15:16:12 +02:00
Simone Bordet 9ace21992e Updated POM versions to 10.0.4-SNAPSHOT.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-05-21 17:07:46 +02:00