Commit Graph

989 Commits

Author SHA1 Message Date
Joakim Erdfelt c631d9b461 Removing noisy logging/debugging 2013-01-16 15:11:57 -07:00
Joakim Erdfelt 1dfee4c992 393733 - WebSocketClient interface should support multiple connections
+ Reworking Connection Timeout handling
2013-01-16 15:11:57 -07:00
Jesse McConnell e1c516c7d1 merge from jetty-8 and update license blocks. 2013-01-11 17:04:53 -06:00
Jesse McConnell 863944873d merge from 7 and update license blocks for 2013 2013-01-11 15:01:16 -06:00
Jesse McConnell a4dbb5823c update license blocks for 2013 2013-01-11 14:57:51 -06:00
Greg Wilkins 27c31fb403 jetty-9 organised imports. Cleaned up some TODOs 2013-01-11 16:37:32 +11:00
Greg Wilkins b5d4add750 jetty-9 copyright header 2013-01-11 16:02:33 +11:00
Greg Wilkins 76c068dfe6 jetty-9 refined the IdleTimeout mechanism and added a unit test 2013-01-11 13:06:42 +11:00
Greg Wilkins 6bfc19be1b jetty-9 optimisation to dispatch before parsing so that handling is done in same thread 2012-12-14 09:50:22 +11:00
Joakim Erdfelt be83cb100d Adding java assert() on bad buffer release, per discussion with Simone and Jesse 2012-12-12 11:06:15 -07:00
Joakim Erdfelt 3fd59fa189 Rejecting BufferPool.release() of buffers below factor 2012-12-11 13:01:54 -07:00
Thomas Becker e909bc4bc5 Fix WriteFlusher javadoc 2012-12-03 13:55:41 +01:00
Greg Wilkins 7737dc8c76 394854 Implemented Promise 2012-11-23 12:18:51 +11:00
Jesse McConnell d7e2bad665 add license block 2012-11-08 16:43:05 -06:00
Greg Wilkins 6cd32362d0 jetty-9 factored out IdleTimeout 2012-11-09 08:04:58 +11:00
Greg Wilkins a1d0efc2bb 393832 start connectors last 2012-11-08 19:30:58 +11:00
Jesse McConnell bb27f561c1 [maven-release-plugin] prepare for next development iteration 2012-11-05 12:24:06 -06:00
Jesse McConnell 1d767e99a3 [maven-release-plugin] prepare release jetty-8.1.8.v20121105 2012-11-05 12:23:59 -06:00
Jesse McConnell 70d591c430 [maven-release-plugin] prepare for next development iteration 2012-11-05 12:16:03 -06:00
Jesse McConnell 017826b4eb [maven-release-plugin] prepare release jetty-7.6.8.v20121105 2012-11-05 12:15:57 -06:00
Greg Wilkins 8723408731 Merge remote-tracking branch 'origin/jetty-7' into jetty-8
Conflicts:
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/MultiPartFilter.java
2012-11-02 13:17:53 +11:00
Greg Wilkins 65202e9abe 393363 Use Locale.ENGLISH for all toUpperCase and toLowerCase calls 2012-11-02 11:55:00 +11:00
Greg Wilkins 18f7293efd 392237 Fixed 3.0 port of chat servlet 2012-10-25 12:27:30 +11:00
Simone Bordet c21a17ea83 #392463 - Client SSL handshake may hang.
Now we check whether a fill() called from flush() has changed the SSLEngine state to NEED_WRAP,
and if so, we continue to wrap.
2012-10-19 17:53:54 +02:00
Greg Wilkins 2b13648b0e 392237 fixed many TODOs and many minor code cleanups 2012-10-19 16:17:30 +11:00
Greg Wilkins f420f5016d 392237 Implemented HttpOutput.sendContent for large content 2012-10-19 10:16:30 +11:00
Greg Wilkins b618ce59e3 392304 fixed intermittent client SSL failure. Correctly compact in flip2fill 2012-10-18 19:55:57 +11:00
Greg Wilkins 27e8efec94 jetty-9 optimised the selector change submission 2012-10-18 15:34:10 +11:00
Simone Bordet 444d5845ec jetty-9: improved logging. 2012-10-16 13:50:24 +02:00
Simone Bordet 84a1cff26e jetty-9: changed the way changes are run.
Before: changes were submitted, but if this happened in the selector thread, then they were executed immediately.
This lead to recursion: the run of a change submitted another change, which was run, which submitted a change, etc.
To avoid StackOverFlowException, a ForkInvoker was used, breaking the stack after 4 recursive calls.
The reason for this was to avoid to queue a change that could have been run in place, but costs probably it costs
more than what it saves.

Current: changes are now always queued. This avoids recursion and the need for a ForkInvoker, making the code simpler.
Instead of recursing we now iterate over the queue of changes.
2012-10-16 13:50:24 +02:00
Simone Bordet 39fb81c486 jetty-9: Fixed concurrent updates to volatile variable _interestOps.
Read interest and write interest can be setting concurrently, and they may cancel each other.
Replaced _interestOps with an AtomicInteger and checking whether the update succeeds,
otherwise it is reattempted.
2012-10-12 15:58:52 +02:00
Simone Bordet e41ad27ca4 jetty-9: always clearing the buffer before returning it from acquire(). 2012-10-10 21:35:32 +02:00
Simone Bordet 7cad4ebe52 jetty-9: DecryptedEndPoint now delegates the set of the idle timeout to the underlying EndPoint.
DecryptedEndPoint does not perform any scheduling for idle timeouts, because those are done
by SelectChannelEndPoint that is the usual underlying EndPoint of DecryptedEndPoint.
In case of more nested EndPoint/Connection chains, EndPoints that delegate (such as
DecryptedEndPoint) should delegate the idle timeout to the underlying EndPoint.
2012-10-08 11:05:27 +02:00
Simone Bordet 2748a9381e jetty-9: Added support for connect timeout. 2012-10-08 11:05:26 +02:00
Greg Wilkins f4d12412eb jetty-9 added FilterConnectionFactory and made SpdyServer use it 2012-10-08 15:22:49 +11:00
Greg Wilkins c5d8fd748b jetty-9 added FilterConnection 2012-10-07 09:09:23 +11:00
Greg Wilkins 97d08c399a jetty-9 removed race with NPN replacing connection and extra wrap causing NPE in SSLEngineImpl 2012-10-02 15:00:31 -07:00
Greg Wilkins 6cc0734a1a jetty-9 miscillaneous optimizations: donot dispatch to HTTP and SPDY; improved executorCallback 2012-10-02 13:48:51 -07:00
Greg Wilkins cb4e7982b1 jetty-9 SslConnection fill does not try to send close handshake 2012-09-24 13:10:18 +10:00
Simone Bordet 9e7fcf4fee jetty-9: Fixed SslBytesServerTest, and added factory methods to relevant classes. 2012-09-21 16:47:01 +02:00
Greg Wilkins e04494da64 jetty-9 fixed test onOpen 2012-09-21 18:00:46 +10:00
Greg Wilkins 68ee346b8a jetty-9 combined the Container and AggregateLifeCycle into ContainerLifeCycle 2012-09-21 11:45:51 +10:00
Greg Wilkins b9ceb8703d Merge branch 'jetty-9' into jetty-9-open-close 2012-09-21 08:36:22 +10:00
Joakim Erdfelt 857498b115 Upgrading to junit-dep-4.10.jar (banning junit.jar) 2012-09-20 11:52:59 -07:00
Simone Bordet 37a7e5977d Merged branch 'jetty-9' into jetty-9-open-close. 2012-09-20 18:46:16 +02:00
Simone Bordet 40382bad3a jetty-9 - Removed references to JUnit 3.x. 2012-09-20 18:23:02 +02:00
Greg Wilkins 0d2627b6e9 jetty-9 improved onOpen onclose handling 2012-09-20 11:05:20 +10:00
Simone Bordet 851de69d9d jetty-9 - Third take at open/close refactoring. 2012-09-19 18:04:15 +02:00
Simone Bordet 44b3bb067c jetty-9 - Second take at open/close refactoring. 2012-09-19 13:37:47 +02:00
Simone Bordet f257f4b2bb jetty-9 - First take at open/close refactoring. 2012-09-19 13:37:47 +02:00
Simone Bordet 0915b2b0ab jetty-9 - Refactored code that was counting the number of reentrant invocations into a common utility class, ForkInvoker. 2012-09-17 14:39:13 +02:00
Simone Bordet 4ea5734ab1 jetty-9 - Avoiding StackOverflowErrors when processing changes. 2012-09-17 11:46:26 +02:00
Simone Bordet 4f1a2990de jetty-9 - Always making SslConnection dispatch completion callbacks to avoid StackOverflowErrors. 2012-09-17 11:46:26 +02:00
Greg Wilkins 129583679a jetty-9 javadoc improvements and renamed SelectChannelConnector to ServerConnector 2012-09-17 17:37:56 +10:00
Simone Bordet 4ffe66f899 jetty-9 - HTTP client: better cleanup at stop. 2012-09-14 23:30:21 +02:00
Simone Bordet 88cbfed7e0 jetty-9 - Made SelectorManager.connection[Opened|Closed]() concrete, since they are overridden only by SelectChannelConnector. 2012-09-14 23:30:21 +02:00
Simone Bordet cf3f12297f jetty-9 - Cosmetics. 2012-09-14 23:30:21 +02:00
Simone Bordet 8c9f097666 jetty-9 - Throwing EofException when trying to flush after output shutdown.
When the output is shutdown, field _cannotAcceptMoreAppDataToFlush is set to true,
indicating that no more flush() calls are accepted.
However, a further call to flush() was reading _cannotAcceptMoreAppDataToFlush and
just returning false, leaving writes in pending state but without chance to be completed.
Now, if we detect _cannotAcceptMoreAppDataToFlush==true in flush(), we check
whether the output was shutdown; if it is the case, we throw an EofException to signal
to the application that it cannot write because the connection is already closed.
2012-09-14 15:20:10 +02:00
Simone Bordet 655a313fdf jetty-9 - Improved logging. 2012-09-14 15:09:22 +02:00
Greg Wilkins 22ba57b8d2 jetty-9 refactored onOpen and onClose 2012-09-14 17:38:47 +10:00
Simone Bordet b264f20dc9 jetty-9 - Removed the write of an empty buffer from onOpen().
SslConnection should remain as passive as possible, with the next connection driving the activity.
If client connections need to drive the SSL handshake with an empty write, they should do it, and
not SslConnection.
2012-09-14 00:38:25 +02:00
Simone Bordet 24cbb6385b jetty-9 - Just returning in case we want to fail an already failed write flusher. 2012-09-14 00:38:25 +02:00
Joakim Erdfelt 12470a2715 Introduce SocketBased, and squelching logging on tests 2012-09-13 08:51:45 -07:00
Jan Bartel 944b23240e 388706 Avoid unnecessary indirection through Charset.name 2012-09-13 17:03:10 +10:00
Greg Wilkins c709981aa5 jetty-9 finished refactor for oneconnector and configuration pluggability 2012-09-13 10:00:44 +10:00
Greg Wilkins a41b6e32ac Merge branch 'jetty-9-configuration' into jetty-9
Conflicts:
	jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java
2012-09-13 08:22:06 +10:00
Greg Wilkins b3e8f91026 jetty-9 flush returns boolean to say completely flushed or not 2012-09-13 08:11:05 +10:00
Greg Wilkins 79caf45604 Merge branch 'jetty-9' into jetty-9-configuration
Conflicts:
	jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java
2012-09-12 23:11:12 +10:00
Greg Wilkins 427a01855c jetty-9 WriteFlusher handlers buffering endpoints 2012-09-12 23:06:19 +10:00
Joakim Erdfelt 550f0d28f6 attempting to address the SCEPSslTest.testWriteBlocked() failures 2012-09-10 15:15:31 -07:00
Greg Wilkins 26f5ffc459 jetty-9 improve SslConnection toString 2012-09-11 08:04:33 +10:00
Jesse McConnell a8994178f5 [maven-release-plugin] prepare for next development iteration 2012-09-10 14:18:11 -05:00
Jesse McConnell 92180a9700 [maven-release-plugin] prepare release jetty-7.6.7.v20120910 2012-09-10 14:18:01 -05:00
Jesse McConnell 10e4027579 [maven-release-plugin] prepare for next development iteration 2012-09-10 13:59:34 -05:00
Jesse McConnell 57a6258f96 [maven-release-plugin] prepare release jetty-8.1.7.v20120910 2012-09-10 13:59:10 -05:00
Jesse McConnell 1ec8b2621b [maven-release-plugin] prepare release jetty-7.6.7.v20120910 2012-09-10 13:47:05 -05:00
Jesse McConnell 4180d7e1f5 prepare for release 2012-09-10 12:59:04 -05:00
Greg Wilkins 73ebe89019 jetty-9 refactored configuration 2012-09-10 20:26:14 +10:00
Greg Wilkins a15d71932f jetty-9 protection from double onFillable calls 2012-09-09 08:31:31 +10:00
Greg Wilkins 2bb425d0b2 jetty-9 improved buffer recycling 2012-09-09 07:42:03 +10:00
Simone Bordet 236df8e94b Jetty9 - Fixed compilation issues. 2012-09-06 09:37:11 +02:00
Simone Bordet 7231c82b69 Merged branch 'jetty-9' into jetty-9-client. 2012-09-06 08:41:48 +02:00
Simone Bordet 2715f64441 Jetty9 - Fourth take at HTTP client implementation. 2012-09-05 13:33:38 +02:00
Simone Bordet b18ab0e76a Jetty9 - First take at HTTP client implementation. 2012-09-04 19:20:29 +02:00
Jesse McConnell d37deeea74 [maven-release-plugin] prepare for next development iteration 2012-09-03 13:33:18 -05:00
Jesse McConnell b418b0dd57 [maven-release-plugin] prepare for next development iteration 2012-09-03 13:33:16 -05:00
Jesse McConnell 41e9b1f6e2 [maven-release-plugin] prepare release jetty-7.6.6.v20120903 2012-09-03 13:33:10 -05:00
Jesse McConnell 6c0b0af2fe [maven-release-plugin] prepare release jetty-8.1.6.v20120903 2012-09-03 13:33:08 -05:00
Greg Wilkins c3776764f4 jetty-9 ConcurrentScheduler refinements 2012-09-03 15:24:36 +10:00
Greg Wilkins 83dbca6553 jetty-9 reworked the schedulers 2012-08-31 13:22:58 +10:00
Greg Wilkins 8c6ad12088 jetty-9 fixed ArrayByteBufferPool and added test 2012-08-31 08:05:09 +10:00
Thomas Becker 8fbe6c59d5 jetty-9 merge 2012-08-29 17:27:26 +02:00
Simone Bordet d84eee0b46 Jetty9 - Reverted AbstractConnector to use MappedByteBufferPool, as ArrayByteBufferPool is leaking buffers. 2012-08-28 18:14:22 +02:00
Simone Bordet 7a2b53d987 Jetty9 - Dispatching the onConnect(Session) callback in a different thread.
This is needed for two reasons: the first is that onOpen() is called from the selector thread
and onConnect() may perform I/O (such as sending a SETTINGS frame), and second
because onOpen() may be called when NPN upgrades the connection.
In the latter case, SslConnection is busy with the SSL handshake (for example is filling)
and calling onConnect() triggers a write, that ends up in the SslConnection that sees that
it is still in the SSL handshake and needs to fill, resulting in a reentrant fill, which is not
supported correctly by SslConnection.
Dispatching to a new thread makes the call safe, since SslConnection is properly synchronized.
2012-08-28 15:20:14 +02:00
Simone Bordet 2339da7cc0 Jetty9 - Marked tests as @Slow. 2012-08-28 13:04:18 +02:00
Simone Bordet 5aa3702606 Jetty9 - Better logging. 2012-08-28 11:56:37 +02:00
Simone Bordet 6601b65162 Jetty9 - Made the test more reliable and marked it as slow. 2012-08-28 11:56:22 +02:00
Simone Bordet 7a1faf3c08 Jetty9 - Start counting for idleness when we register read interest.
Otherwise it was possible that the endPoint was created, upon creation
it started counting for idleness, after a while read interested was set
and the endPoint idle timed out before having the chance to read.
2012-08-28 11:55:01 +02:00
Simone Bordet a935c26764 Jetty9 - Fixed typo. 2012-08-27 16:32:01 +02:00
Greg Wilkins cb5dd493fb jetty-9 merged jetty-9-aggregation 2012-08-27 10:24:34 +10:00
Greg Wilkins 1d654a08cf jetty-9 restructured graceful shutdown 2012-08-24 20:16:23 +10:00
Simone Bordet 06b2de17d5 Merge branch 'jetty-9-aggregation' into jetty-9-spdy-http 2012-08-24 11:52:29 +02:00
Greg Wilkins c707ba11d1 jetty-9 improved SSL shutdown input 2012-08-24 17:56:22 +10:00
Greg Wilkins fac03a306b jetty-9 more server test fixes 2012-08-24 16:53:36 +10:00
Greg Wilkins cd719bf979 jetty-9 cleanups and fixes after refactor 2012-08-23 14:07:10 +10:00
Greg Wilkins 325bfc290d jetty-9 work in progress on moving aggregation out of HttpChannel 2012-08-20 20:43:10 +10:00
Jesse McConnell 6ffaa478c4 standardize license headers 2012-08-17 16:09:49 -05:00
Joakim Erdfelt 3d1d76d214 Merge from jetty-8 to jetty-9 (license header standarization) 2012-08-17 13:44:22 -07:00
Jesse McConnell 5de0cee1eb merge from master + license block standardization 2012-08-17 14:50:43 -05:00
Greg Wilkins 2a66567a5b jetty-9 improved handling of half close 2012-08-17 15:34:53 +10:00
Jesse McConnell 00ed549898 standardize license header blocks 2012-08-16 19:11:27 -05:00
Greg Wilkins c84b496330 jetty-9 more work on stop/close. Turned on statistics all of the time, but still not enough. more work needed. 2012-08-12 11:24:24 +10:00
Greg Wilkins 488f53f8d6 jetty-9 cleaned up the stop and stopTimeout handlng 2012-08-11 12:51:32 +10:00
Joakim Erdfelt 74490580da Merge branch 'jetty-9' into multimap-ng 2012-08-10 11:32:42 -07:00
Joakim Erdfelt da0e5a1ef6 [multimap-ng] step 1, make MultiMap participate as a full fledged member of the Collections framework 2012-08-10 10:25:10 -07:00
Simone Bordet c3dfd0c653 Jetty9 - Set stopTimeout to zero by default, and setting defaults for threaded component that need a non-zero stop timeout to stop properly. 2012-08-10 19:02:16 +02:00
Simone Bordet 136f7924fd Jetty9 - Refactored usage of components that were using custom stop timeout to use the get/setStopTimeout() methods inherited from AbstractLifeCycle. 2012-08-10 19:02:16 +02:00
Greg Wilkins 1740b45342 jetty-9 Less reliance on booleans in SslConnection 2012-08-10 21:12:44 +10:00
Simone Bordet 6a2041ae27 Jetty9 - Better handling of cases where the SslConnection has its output shutdown. 2012-08-10 10:34:00 +02:00
Simone Bordet 2d832fa9ad Jetty9 - Introduced Connection.close() for better stop of lifecycle components. 2012-08-10 10:32:45 +02:00
Simone Bordet cf5801f437 Jetty9 - Added logging. 2012-08-10 10:31:35 +02:00
Greg Wilkins afe489e986 jetty-9 potential SSL fix 2012-08-10 15:21:52 +10:00
Greg Wilkins 54ea5a7de2 jetty-9 better dispatching of events to SSL 2012-08-10 14:39:51 +10:00
Greg Wilkins 97ff08b3be jetty-9 write on ssl connection test harness 2012-08-10 13:31:11 +10:00
Greg Wilkins 16b404754e jetty-9 improved logging 2012-08-10 13:31:11 +10:00
Simone Bordet 523f1a8295 Jetty9 - Made close(), isOpen() and onOpen() use the _open AtomicBoolean for their logic, to avoid race conditions. 2012-08-08 14:58:04 +02:00
Simone Bordet fe99631069 Jetty9 - Avoid to throw just after having written the SSL close message. 2012-08-08 11:28:53 +02:00
Simone Bordet 2816187e0d Jetty9 - More logging. 2012-08-08 11:28:53 +02:00
Simone Bordet cac1c933c3 Jetty9 - Prevented NPE in case the connection cannot be created. 2012-08-08 11:28:53 +02:00
Simone Bordet d40170001a Jetty9 - Removed call to onOpen() for the nested connection, it's not needed, and always calling completeWrite() from onFillable() in case there is application data left to be written.
Improved logging.
2012-08-08 11:28:53 +02:00
Greg Wilkins 32c5f6c093 jetty-9 reduced LazyList usage 2012-08-08 11:58:50 +10:00
Thomas Becker d4d41fb877 jetty9 - fix WriteFlusherTest.testConcurrentAccessToIncompleteWriteAndOnFail() 2012-08-03 19:56:00 +02:00
Thomas Becker 5743483f9c jetty9 - WriteFlusher.PendingState._buffers is final now 2012-08-03 19:27:35 +02:00
Thomas Becker 90112965b6 jetty9 - SelectChannelEndPoint.toString() fix 2012-08-03 19:10:21 +02:00
Simone Bordet 433839bd47 Jetty9 - Introduced ConnectionFactory for SelectChannelConnector.
This change abstracts out the connection creation from the connector itself,
so there can be only one connector managing all protocols, depending on
the configuration of the connection factories.
2012-08-03 19:10:21 +02:00
Thomas Becker 9f2d1586ca jetty9 - WriteFlusher minor changes. Some ConcurrentTests for WriteFlusher added. Cleanup. Javadoc. 2012-08-03 19:10:18 +02:00
Greg Wilkins 2d7b6c9c06 jetty-9 some post simone review changes to WriteFlusher 2012-08-03 19:41:56 +10:00
Greg Wilkins 99a4b5955f jetty-9 more common code in AbstractEndPoint 2012-08-03 15:51:21 +10:00
Greg Wilkins 40d4e1070f jetty-9 renamed ReadInterest to fillInterest 2012-08-03 12:49:37 +10:00
Greg Wilkins 7df281bb16 jetty-9 renamed ReadInterest to fillInterest 2012-08-03 12:47:33 +10:00
Greg Wilkins 29833f000b Merge branch 'jetty-9' into jetty-9-oneconnector
Conflicts:
	jetty-io/src/main/java/org/eclipse/jetty/io/AsyncByteArrayEndPoint.java
	jetty-io/src/main/java/org/eclipse/jetty/io/ChannelEndPoint.java
	jetty-io/src/main/java/org/eclipse/jetty/io/WriteFlusher.java
	jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java
	jetty-io/src/test/java/org/eclipse/jetty/io/WriteFlusherTest.java
2012-08-03 12:39:21 +10:00
Thomas Becker 137ccca7c5 jetty9 - Make WriteFlusher.java threadsafe 2012-08-03 01:06:41 +02:00
Thomas Becker a4018d3484 merge with jetty-9 2012-08-02 15:00:43 +02:00
Thomas Becker 4e94601619 jetty-9: Make WriteFlusher threadsafe. 2012-08-02 14:38:54 +02:00
Greg Wilkins 0865a9cfb0 jetty-9 removed more AsyncConnection names 2012-08-02 18:10:29 +10:00
Greg Wilkins b52930be14 jetty-9 merged Async and non-Async classes for EndPoint and Connection 2012-08-02 16:08:49 +10:00
Greg Wilkins 96b5c05674 jetty-9 one connector passing most tests 2012-08-02 11:51:54 +10:00
Greg Wilkins 2a470631bf Merge branch 'jetty-9' into jetty-9-oneconnector
Conflicts:
	jetty-server/src/main/java/org/eclipse/jetty/server/ssl/SslSelectChannelConnector.java
2012-08-02 08:11:12 +10:00
Greg Wilkins b2a8fc02dc jetty-9 renaming and javadoc to improve the understandability of SslConnection 2012-08-01 15:53:03 +10:00
Simone Bordet 9a34c08b8e Jetty9 - Removed unused fields. 2012-07-31 16:23:43 +02:00