Commit Graph

1312 Commits

Author SHA1 Message Date
Simone Bordet e0039a95e8 474321 - Allow synchronous address resolution.
Refactored SocketAddressResolver into interface and one sync and one
async implementations. Added getter/setter methods to HttpClient.
2015-08-05 16:51:16 +02:00
Simone Bordet 7149eace17 474319 - Reintroduce blocking connect(). 2015-08-05 14:39:27 +02:00
Joakim Erdfelt a3684f7fb8 [maven-release-plugin] prepare for next development iteration 2015-07-30 09:47:57 -07:00
Joakim Erdfelt 798fc8118b [maven-release-plugin] prepare release jetty-9.2.13.v20150730 2015-07-30 09:47:48 -07:00
Jesse McConnell 7204707902 [maven-release-plugin] prepare for next development iteration 2015-07-09 12:14:38 -05:00
Jesse McConnell 3b1533673e [maven-release-plugin] prepare release jetty-9.2.12.v20150709 2015-07-09 12:14:30 -05:00
Jesse McConnell 60e45a940e [maven-release-plugin] prepare for next development iteration 2015-06-15 15:34:11 -05:00
Jesse McConnell d3dec8d513 [maven-release-plugin] prepare release jetty-9.2.12.M0 2015-06-15 15:34:03 -05:00
Simone Bordet 2c26e82fea 469936 - Remove usages of SpinLock.
Causes high CPU usage when contended, and the JVM can do better with
its own spin lock and biased locking.
2015-06-11 15:36:20 +02:00
Jesse McConnell bfe6c2638e [maven-release-plugin] prepare for next development iteration 2015-05-29 09:06:42 -05:00
Jesse McConnell 71e0f4d8ce [maven-release-plugin] prepare release jetty-9.2.11.v20150529 2015-05-29 09:06:36 -05:00
Jesse McConnell a7087cbfbf [maven-release-plugin] prepare for next development iteration 2015-05-28 10:06:51 -05:00
Jesse McConnell 913c63e597 [maven-release-plugin] prepare release jetty-9.2.11.v20150528 2015-05-28 10:03:44 -05:00
Simone Bordet 0ad471449b 468421 - HttpClient#send fails with IllegalArgumentException on non-lowercase schemes.
RFC 7230 specifies that both scheme and host must be case insensitive.
2015-05-28 15:38:28 +02:00
Simone Bordet c7cff6ec7e 467603 - Response 401 from server hangs client. 2015-05-19 19:05:06 +02:00
Simone Bordet 1270d291cc 465181 - HttpParser parse full end chunk.
Continue parsing until the buffer is empty, or the parser returns
true to indicate that content is being handled asynchronously.
2015-04-23 08:58:54 +02:00
Simone Bordet 509d13531c 463579 - Add support for 308 status code. 2015-03-31 13:57:12 +02:00
Simone Bordet 07d29fb1b3 461499 - ConnectionPool may leak connections.
Avoid that the complete event is notified before or concurrently with
the response success event.
2015-03-26 11:33:17 +01:00
Jesse McConnell da4f95f3d3 [maven-release-plugin] prepare for next development iteration 2015-03-25 09:08:27 -05:00
Jesse McConnell e92fd438fd [maven-release-plugin] prepare release jetty-9.2.11.M0 2015-03-25 09:08:21 -05:00
Simone Bordet 1dc66b72dd 461499 - ConnectionPool may leak connections.
Made associate(), disassociate() and abort() atomic operations using
the HttpExchange state to coordinate atomicity.
In this way, it's not possible to associate a HttpChannel and a
HttpExchange if the latter has been aborted.
2015-03-24 16:19:45 +01:00
Simone Bordet 79e74c64e1 Introduced a generic Sweeper.
The Sweeper class periodically sweeps resources added to it.
Currently used to check whether the HttpClient code does not leak
connections.
2015-03-20 00:42:24 +01:00
Simone Bordet 6fa30da0eb Fixed code that compared enum values. 2015-03-20 00:25:42 +01:00
Jesse McConnell e3fd0056cf [maven-release-plugin] prepare for next development iteration 2015-03-10 08:00:22 -05:00
Jesse McConnell 9d648f4000 [maven-release-plugin] prepare release jetty-9.2.10.v20150310 2015-03-10 08:00:14 -05:00
Simone Bordet 38250545fc Improved exception handling, aborting the exchange rather than throwing. 2015-03-10 10:36:24 +01:00
Simone Bordet bab7888c59 Fixed HttpClient Javadocs. 2015-03-10 10:15:41 +01:00
Simone Bordet 7c915bcba2 461643 - HttpContent.advance() race.
Fixed by correctly synchronizing on ContentProvider.iterator.hasNext()
and ContentProvider.iterator.next() for those ContentProviders that
require it, such as DeferredContentProvider.
2015-03-07 23:13:21 +01:00
Simone Bordet a13a55e242 Introduced LeakDetector.id() to be consistent in logging the resource ID. 2015-03-07 22:32:59 +01:00
Joakim Erdfelt 74ee154bb1 Cleaning up LeakTrackingByteBufferPool / LeakDetector
+ Making use of LeakTrackingByteBufferPool more consistent
+ Using MappedByteBufferPool.Tagged where appropriate in test cases
+ Adding leak count tracking to LeakDetector
+ Adding leak count tracking to LeakTrackingByteBufferPool
+ Renaming websocket LeakTrackingBufferPool to
  LeakTrackingBufferPoolRule to reflect junit @Rule usage
+ Making websocket LeakTrackingBufferPoolRule always use
  MappedByteBufferPool.Tagged
+ Fixed various grammar concerns
2015-03-06 14:27:58 -07:00
Greg Wilkins 6ed01cf15b removed ambiguous logging 2015-03-06 16:29:25 +11:00
Simone Bordet 3b8bf8d1e0 Made test more stable. 2015-03-05 16:55:04 +01:00
Simone Bordet a64368df5d Factored into own method code executed after creation of a new
connection.
2015-03-05 16:54:44 +01:00
Simone Bordet 1a5346ec4f 461499 - ConnectionPool may leak connections.
Now using SpinLock to guard concurrent access to the connection
queues (idle and active) so that operations on them are atomic.
2015-03-05 15:42:03 +01:00
Greg Wilkins 2169ea6494 further cleanups of HttpExchange 2015-03-05 19:50:30 +11:00
Greg Wilkins e8b6902b16 SpinLock cleanup of HttpExchange 2015-03-05 18:32:17 +11:00
Greg Wilkins 2619edff5a 461452 Double release of buffer by HttpReceiverOverHTTP
Clear buffer on exception to avoid release guard
2015-03-05 16:22:07 +11:00
Greg Wilkins 042de2ec9f 461452 Double release of buffer by HttpReceiverOverHTTP
Updated HttpParse to always return from parseNext when messageComplete is called.  This allows it to notice reentrant state changes
and removes the need for HttpReceiverOverHTTP.methodComplete to return true, thus avoiding the race.
2015-03-05 15:26:19 +11:00
Greg Wilkins 418a60bbd0 461452 Double release of buffer by HttpReceiverOverHTTP
Updated comments to better describe the race to double release the buffer
2015-03-05 12:15:31 +11:00
Greg Wilkins 8cbab09527 461452 Double release of buffer by HttpReceiverOverHTTP
This commit is just a tidy up of the code to reduce the size of the race causing this problem.  It is not a fix.
2015-03-05 11:05:35 +11:00
Simone Bordet 40ad8dc608 Notifying the "failure" event for request and response when the failure
is detected during the processing of another event.
2015-03-04 01:01:09 +01:00
Simone Bordet da80498c56 Improved logging. 2015-02-26 23:38:27 +01:00
Simone Bordet bbc2d0c29d Simplified abort logic. 2015-02-26 23:26:24 +01:00
Simone Bordet 31a0b36f3c Improved logging and toString() implementations. 2015-02-26 23:26:24 +01:00
Simone Bordet 008b03ac78 460905 - Make sure TimeoutCompleteListener is cancelled if the request cannot be sent. 2015-02-26 12:25:42 +01:00
Simone Bordet d5a6ad2345 460905 - Make sure TimeoutCompleteListener is cancelled if the request cannot be sent. 2015-02-26 10:56:19 +01:00
Jesse McConnell 1659d83978 [maven-release-plugin] prepare for next development iteration 2015-02-24 10:38:33 -06:00
Jesse McConnell dc0c3f4c52 [maven-release-plugin] prepare release jetty-9.2.9.v20150224 2015-02-24 10:38:28 -06:00
Simone Bordet b69b8dfe50 460443 - Race condition releasing the response buffer.
Fixed by making sure that the response buffer is released at the
appropriate times.
2015-02-20 16:00:42 +01:00
Simone Bordet ddde0db339 Added test to check that a 100 Continue response and a normal response,
when read in a single read by the client, are processed correctly.
2015-02-20 16:00:42 +01:00