Commit Graph

832 Commits

Author SHA1 Message Date
Simone Bordet f5d63e8626 Moved version() method to base test class, and using HTTPSPDYHeader instead of hardcoded strings. 2012-06-05 12:32:07 +02:00
Simone Bordet b9a3c98055 Benchmark for PushStrategy: HTTP vs SPDY no push vs SPDY push. 2012-06-04 19:28:45 +02:00
Simone Bordet 3b0076fc6a Fixed completeHeader() to just not attempt to detect the close state.
This is needed because the buffer to write may be big, and while it's
the only buffer, it may take multiple writes to be written.
If it takes more than one write, we risk to mark the first frame as closed
and subsequent frames cannot be written.

Fixed flush() to loop until the whole content has been flushed.
2012-06-04 19:28:45 +02:00
Simone Bordet e328cb8141 Improved push of resources by executing them in a different thread.\nAdded a HTTP header that signal to the application that the HTTP request is actually a push. 2012-06-04 19:28:45 +02:00
Simone Bordet 51f307ca7c Made test more reliable. 2012-06-04 19:28:45 +02:00
Simone Bordet 20c0f23cc7 Improved exception logging. 2012-06-04 19:28:45 +02:00
Simone Bordet f0c2fd2474 Improved error reporting in case of a write failure. 2012-06-04 19:28:45 +02:00
Greg Wilkins 96cbd53c47 jetty-9 jetty-server passing tests 2012-06-04 17:27:46 +02:00
Jan Bartel 9149a69446 Merge remote-tracking branch 'origin/master' into jetty-8 2012-06-04 13:49:25 +02:00
Simone Bordet c9251e5c73 Fixed bug in AbstractFrameBytes.compareTo(), avoiding NPE when comparing
FrameBytes that have a related stream, and those that don't (such as PING).
2012-06-03 22:53:06 +02:00
Simone Bordet a2a9fd59a2 Cosmetics. 2012-06-03 18:30:06 +02:00
Simone Bordet 2cb703b0b5 Fixed bug in case of large files being downloaded, and refactored writing of data frames. 2012-06-03 18:30:06 +02:00
Simone Bordet b0156b69bc Moved factory method for FlowControlStrategy to SPDYServerConnector for easier overriding. 2012-06-03 18:30:06 +02:00
Simone Bordet 4b29f18703 Removed constructors that take the "compressed" parameter (compression has been removed from the specification).
Added constructor that takes byte[], offset and length.
2012-06-03 18:30:05 +02:00
Simone Bordet d84889b2e9 Added configuration to enable NPN debugging, but commented out. 2012-06-01 22:13:26 +02:00
Simone Bordet eb47f93d86 Corrected order of SPDY protocols, so that most recent ones are chosen over older ones
(e.g. spdy/3 over spdy/2 over http/1.1).
2012-06-01 22:13:26 +02:00
Simone Bordet 6ff1a5fddc Implemented SPDY/3 HTTP layering. 2012-06-01 19:31:14 +02:00
Simone Bordet f872676a65 Added handling of the "slot" field in SYN_STREAM frames.
Modified parser and generator, and the session implementation
for now ignores this field.
2012-06-01 19:31:14 +02:00
Simone Bordet 70e4a103ec Implemented correctly SPDY v2 parsing and generation of the HEADERS frame. 2012-06-01 19:31:14 +02:00
Simone Bordet d12c2fec21 Renamed enum constant. 2012-06-01 19:31:14 +02:00
Simone Bordet 85e2503eec Added handling of the "slot" field in SYN_STREAM frames.
Modified parser and generator, and the session implementation
for now ignores this field.
2012-06-01 19:31:14 +02:00
Simone Bordet fb34f9b824 Added handling of Credential frames (for now just issuing a warning). 2012-06-01 19:31:14 +02:00
Simone Bordet 91105910ca Added handling of Certificate encoding and decoding. 2012-06-01 19:31:14 +02:00
Simone Bordet 395d49ba71 Basic implementation of CREDENTIAL frame, parser and generator. 2012-06-01 19:31:14 +02:00
Simone Bordet 24f4631a06 Refactored flow control, encapsulating it into a strategy.
The reason for this change is that the server will soon be serving both SPDY/2 and SPDY/3 browsers,
so the flow control strategy must be dynamically chosen depending on the SPDY version.
2012-06-01 10:46:18 +02:00
Simone Bordet 58dd9c3bf1 Enabled flow control configuration in SPDYClient. 2012-05-26 22:49:43 +02:00
Simone Bordet 0ea58ab1d5 Updated default maxIdleTime for SPDYClient to -1, so that the default from the SelectorManager is used. 2012-05-26 22:49:17 +02:00
Simone Bordet f41e43bce3 Updated to NPN API version 1.1.0, calling NextProtoNego.remove(), instead of using AtomicReferences to clear the SSLEngine references. 2012-05-26 22:44:57 +02:00
Simone Bordet 146f5edfde Updated to NPN API version 1.1.0, calling NextProtoNego.remove(), instead of using AtomicReferences to clear the SSLEngine references. 2012-05-26 22:31:02 +02:00
Thomas Becker b92e7b01a9 spdy: improve errorHandling, additional tests for sending big data with/without flow control, test that no more frames are sent on reset pushstreams, test for failing controller.writer(), small improvements
Change-Id: Ide714e01b0ed3753b3e37103de2665158f41f35d
2012-05-25 20:21:10 +02:00
Jesse McConnell 30e8e40ef2 [maven-release-plugin] prepare for next development iteration 2012-05-24 15:41:45 -05:00
Jesse McConnell 667cf9a643 [maven-release-plugin] prepare release jetty-8.1.4.v20120524 2012-05-24 15:41:38 -05:00
Jesse McConnell e45a89694a [maven-release-plugin] prepare for next development iteration 2012-05-24 09:30:58 -05:00
Jesse McConnell 36fc6fe890 [maven-release-plugin] prepare release jetty-8.1.4.v20120524 2012-05-24 09:30:52 -05:00
Jesse McConnell c7a9adaa32 reset for release 2012-05-24 08:33:44 -05:00
Greg Wilkins 1e662c6311 jetty-9 RequestTests passing 2012-05-23 22:52:27 +02:00
Jesse McConnell ea176f0586 [maven-release-plugin] prepare for next development iteration 2012-05-22 15:14:05 -05:00
Jesse McConnell 3fdda881d8 [maven-release-plugin] prepare release jetty-8.1.4.v20120522 2012-05-22 15:13:56 -05:00
Jesse McConnell 300a37319a [maven-release-plugin] prepare for next development iteration 2012-05-22 14:34:10 -05:00
Jesse McConnell 9ccd059375 [maven-release-plugin] prepare release jetty-7.6.4.v20120522 2012-05-22 14:33:59 -05:00
Jesse McConnell ce5e5cbad2 Merge branch 'master' into jetty-8 2012-05-22 14:02:58 -05:00
Thomas Becker b371315606 make spdy tests more reliable: fix race condition with goAway frame
Change-Id: I3bbdb8eee4a12f082f83730209bd0f8cf2fe7d03
2012-05-22 18:16:12 +02:00
Jan Bartel 34954bc617 Merge remote-tracking branch 'origin/master' into jetty-8 2012-05-22 17:28:40 +02:00
Simone Bordet ced2d9efd3 Made test more reliable. 2012-05-22 15:55:42 +02:00
Greg Wilkins b9a2661a4e jetty-9 removed HttpException 2012-05-17 15:12:45 +02:00
Greg Wilkins 68f8e073db jetty-9 progress on unit tests and LocalConnector 2012-05-14 19:58:09 +02:00
Thomas Becker fdf6dac1d3 spdy: no push if the main request contains if-modified-since header
Change-Id: I9462d8d3ff68dd9cf74ad5a45a093e598c6d704b
2012-05-14 18:50:49 +02:00
Simone Bordet 4b8f6b8413 jetty-9 SelectorManager refactorings. 2012-05-11 19:30:30 +02:00
Simone Bordet 9e8b2f1aad SSL refactorings. 2012-05-11 10:19:47 +02:00
Thomas Becker 5687aa8beb SPDY: move probably blocking/long running flush out of synchronized block in StandardSession.syn(..)
Change-Id: I29b748495adb1fa48fab8dc130a8067ff3be6bc5
2012-05-10 12:29:58 +02:00
Greg Wilkins e348f2d4f5 jetty-9 progress on jetty-server 2012-05-10 12:19:16 +02:00
Greg Wilkins 2b9ff87e02 Merge branch 'jetty-9' of ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.project into jetty-9
Conflicts:
	jetty-io/src/main/java/org/eclipse/jetty/io/AsyncConnection.java
2012-05-09 11:19:52 +02:00
Greg Wilkins c1011c54a4 jetty-9 work in progress 2012-05-09 11:18:20 +02:00
Simone Bordet 44d2735a21 Changes to jetty-io related to integration with jetty-spdy. 2012-05-09 11:15:07 +02:00
Simone Bordet f0421723b8 SPDY refactorings. 2012-05-08 19:00:40 +02:00
Simone Bordet 72befc31b0 Adding the scheme header to the tests. 2012-05-07 22:45:21 +02:00
Simone Bordet 858c143b4f Fixed tests: pushed streams cannot reply. 2012-05-07 22:45:21 +02:00
Simone Bordet 14f8091252 Completed implementation of the referrer SPDY push strategy. 2012-05-07 22:45:21 +02:00
Simone Bordet 362e011851 Fixed SPDY push implementation, by correctly supporting pushed streams also on the client side. 2012-05-07 22:45:21 +02:00
Simone Bordet f607d34fdc Fixed Javadocs. 2012-05-07 22:45:21 +02:00
Simone Bordet 75414a05c0 Guarded against NPE in case of null Header. 2012-05-07 22:45:21 +02:00
Simone Bordet f75a9d83f1 Updates to the SPDY push implementation. 2012-05-07 22:45:21 +02:00
Simone Bordet 3ce07230d5 Initial draft for SPDY push. 2012-05-07 22:45:20 +02:00
Jan Bartel 2131a40559 Merge remote-tracking branch 'origin/master' into jetty-8 2012-05-07 13:54:30 +02:00
Thomas Becker f362fb0b48 spdy push implementation
Change-Id: Ibca8ce444588785f13c9890370422a2dc4b149ac
2012-04-27 17:44:22 +02:00
Simone Bordet 45b2c3b1b5 Merged from master after fixing typo in jetty-spdy.xml. 2012-04-16 15:55:49 +02:00
Simone Bordet 5ef7c3f2da Fixed typo: server --> Server. 2012-04-16 15:18:11 +02:00
Jesse McConnell b64909900c [maven-release-plugin] prepare for next development iteration 2012-04-13 15:31:47 -05:00
Jesse McConnell 2c0a35d430 [maven-release-plugin] prepare release jetty-8.1.3.v20120413 2012-04-13 15:31:38 -05:00
Jesse McConnell b963840d40 [maven-release-plugin] prepare for next development iteration 2012-04-13 15:29:14 -05:00
Jesse McConnell a652ee7396 [maven-release-plugin] prepare release jetty-7.6.3.v20120413 2012-04-13 15:29:05 -05:00
Simone Bordet 72040202d4 Reverted release back to 8.1.3-SNAPSHOT. 2012-04-13 17:27:37 +02:00
Simone Bordet 85710fb9ea Reverted release back to 7.6.3-SNAPSHOT. 2012-04-13 16:59:06 +02:00
Jesse McConnell 3b87e91cbe [maven-release-plugin] prepare for next development iteration 2012-04-12 10:29:30 -05:00
Jesse McConnell 308b010744 [maven-release-plugin] prepare release jetty-8.1.3.v20120412 2012-04-12 10:29:20 -05:00
Jesse McConnell cdcc0922c3 [maven-release-plugin] prepare for next development iteration 2012-04-12 09:49:52 -05:00
Jesse McConnell 5966c86571 [maven-release-plugin] prepare release jetty-7.6.3.v20120412 2012-04-12 09:49:46 -05:00
Greg Wilkins f144b6562e Merge remote-tracking branch 'origin/master' into jetty-8
Conflicts:
	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/gzip/GzipTester.java
2012-04-12 22:20:01 +10:00
Simone Bordet a389d08c26 376201 - HalfClosed state not handled properly.
Addendum to restore previous behavior, where a closed stream was also half closed.
2012-04-12 12:57:04 +02:00
Greg Wilkins ee2d289f63 Merge remote-tracking branch 'origin/master' into jetty-8
Conflicts:
	jetty-npn/pom.xml
	jetty-osgi/jetty-osgi-boot-jsp/META-INF/MANIFEST.MF
	jetty-osgi/jetty-osgi-boot-jsp/src/main/java/org/eclipse/jetty/osgi/boot/jasper/WebappRegistrationCustomizerImpl.java
	jetty-osgi/jetty-osgi-boot-jsp/src/main/java/org/eclipse/jetty/osgi/boot/jsp/FragmentActivator.java
	jetty-osgi/jetty-osgi-boot-logback/META-INF/MANIFEST.MF
	jetty-osgi/jetty-osgi-boot-warurl/META-INF/MANIFEST.MF
	jetty-osgi/jetty-osgi-boot/META-INF/MANIFEST.MF
	jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/internal/webapp/WebBundleDeployerHelper.java
	jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/internal/webapp/WebBundleTrackerCustomizer.java
	jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/utils/internal/DefaultFileLocatorHelper.java
	jetty-osgi/jetty-osgi-equinoxtools/META-INF/MANIFEST.MF
	jetty-osgi/jetty-osgi-httpservice/META-INF/MANIFEST.MF
	jetty-spdy/spdy-jetty-http-webapp/pom.xml
	jetty-spdy/spdy-jetty-http/pom.xml
	jetty-spdy/spdy-jetty/pom.xml
2012-04-12 16:02:34 +10:00
Simone Bordet 972087d068 376201 - HalfClosed state not handled properly. 2012-04-11 12:18:56 +02:00
Simone Bordet 47c1587166 Strengthen the behavior of Stream methods to throw if they are used wrongly,
for example sending DATA frames before a REPLY and so on.
2012-04-11 10:39:23 +02:00
Simone Bordet 6ec1594010 Updated path location of the jetty config file for SPDY. 2012-04-05 17:33:48 +02:00
Simone Bordet eaacd69ede Moved from SLF4J to Jetty logging. 2012-04-05 17:30:05 +02:00
Simone Bordet 50f545b29a Vastly improved queueing of FrameBytes, by appending at the end of the queue (instead of iterating over the queue).
Also, implemented a better fix for the missing flush() in case of missing handlers: now instead of flushing in the write
completion handler (which could lead to stack overflows), we use the same mechanism employed for FrameBytes,
where we avoid stack overflows by dispatching to a new thread after few recursive invocations.
2012-04-04 19:21:16 +02:00
Simone Bordet 5b668fd6f1 375970 - HttpServletRequest.getRemoteAddr() returns null when HTTP is over SPDY. 2012-04-03 18:23:16 +02:00
Simone Bordet 6c464238b7 Updated dependency on jetty-npn, now that it moved to its own project at github and it's unlocked from jetty releases. 2012-04-03 12:00:38 +02:00
Greg Wilkins b2b4b2733b jetty-spdy fixed version of api 2012-04-03 10:12:46 +10:00
Simone Bordet d231b57144 Made the test more reliable. 2012-04-02 15:39:01 +02:00
Simone Bordet 30adf7cd18 Added missing flush after writing frames.
Frames may be written asynchronously but without a Handler, and therefore it was possible that frames
queued up, that one flush() was writing a frame without Handler, and the flush was stopping even if the
queue was non-empty.
Now we call flush() after writing a frame.
2012-04-02 13:22:06 +02:00
Simone Bordet b44fe2094f Fixed Maven warning. 2012-04-02 13:16:40 +02:00
Simone Bordet bd0cc72439 Made the test more reliable. 2012-04-02 13:14:57 +02:00
Simone Bordet bb429a7f18 375509 - Stalled stream stalls other streams or session control frames.
Now using a "death pill" instead of a boolean in order to avoid race conditions where
DataInfos were read from the queue (but the boolean not updated yet), and viceversa.
2012-04-02 10:09:55 +02:00
Simone Bordet 00b31b6577 Added defaults in switches. 2012-04-02 10:07:51 +02:00
Simone Bordet fff059f7a9 Making sure bytes are masked when doing int operations. 2012-04-02 10:07:25 +02:00
Jan Bartel 45050ebac9 Merge remote-tracking branch 'origin/master' into jetty-8 2012-04-02 17:49:33 +10:00
Simone Bordet b0a3d031aa 375509 - Stalled stream stalls other streams or session control frames.
Additional fixes to the implementation of flush(). Also implemented frame priority.
2012-03-30 18:47:47 +02:00
Simone Bordet 2a44fa5c22 Cosmetics. 2012-03-30 18:46:53 +02:00
Jan Bartel 17269583fb Merge remote-tracking branch 'origin/master' into jetty-8 2012-03-30 12:05:46 +11:00
Simone Bordet 50bc8fa400 375509 - Stalled stream stalls other streams or session control frames.
Additional improvements for thread visibility, and clarified code comment.
2012-03-29 12:50:01 +02:00
Simone Bordet 294c588023 375509 - Stalled stream stalls other streams or session control frames. 2012-03-28 11:41:06 +02:00
Simone Bordet bb66cfc877 375083 - Flow control should take in account window size changes from concurrent SETTINGS 2012-03-22 17:08:11 +01:00
Greg Wilkins d8b1d80e4e Merge remote-tracking branch 'origin/master' into jetty-8
Conflicts:
	jetty-spdy/spdy-jetty-http-webapp/pom.xml
	jetty-spdy/spdy-jetty-http/pom.xml
	jetty-spdy/spdy-jetty/pom.xml
2012-03-19 17:22:02 +11:00
Greg Wilkins 7e3b8bcfd4 374611: do not redispatch if already dispatched when SSL reads content on write 2012-03-19 15:48:39 +11:00
Jesse McConnell b3ac9235f7 add spdy to the distribution and make npn-boot test dependency pull from internal to build as opposed to out of a local repository 2012-03-16 12:46:47 -05:00
Simone Bordet 5624a5721e Merged from master. 2012-03-14 18:24:57 +01:00
Simone Bordet 44017f18af 374258 - SPDY leaks SSLEngines. Made the test more reliable. 2012-03-14 17:49:57 +01:00
Simone Bordet ab9bcf26b2 374258 - SPDY leaks SSLEngines 2012-03-14 16:31:29 +01:00
Simone Bordet 2f7f232d12 Merge branch 'master' of ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.project 2012-03-12 15:31:54 +01:00
Simone Bordet 9158115a82 Improved SPDY connector to take into account confidential and integral settings. 2012-03-12 15:31:23 +01:00
Simone Bordet 41874b5fbe Made the test portable between Jetty7 and Jetty8. 2012-03-12 15:30:26 +01:00
Jesse McConnell 567d61083c fix import 2012-03-09 00:29:09 -06:00
Jesse McConnell b4985ad0d5 [maven-release-plugin] prepare for next development iteration 2012-03-08 23:53:50 -06:00
Jesse McConnell 7a99af4ffe [maven-release-plugin] prepare release jetty-8.1.2.v20120308 2012-03-08 23:53:42 -06:00
Jesse McConnell 246e3ed756 [maven-release-plugin] prepare for next development iteration 2012-03-08 21:09:46 -06:00
Jesse McConnell a63b3fdc5e [maven-release-plugin] prepare release jetty-7.6.2.v20120308 2012-03-08 21:09:37 -06:00
Simone Bordet 6d34d6fdc6 Fixed recursive flush(): a stack overflow was still possible because the invocation count was not correctly decreased. 2012-03-08 15:36:54 +01:00
Simone Bordet 182efa38fa Merge branch 'master' of ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.project 2012-03-08 09:50:31 +01:00
Jesse McConnell 3134984bb2 disabling spdy tests on release and commenting out jetty maven plugin usage 2012-03-07 15:08:05 -06:00
Jesse McConnell 0284e5e9d5 make sure tests run with profile 2012-03-07 14:16:36 -06:00
Jesse McConnell 313475576b lock up spdy tests that rely on npn-boot codehaus artifact behind a profile for activation 2012-03-07 14:11:28 -06:00
Simone Bordet c5c4425a0b Ignoring data frames after RST_STREAM. 2012-03-07 14:04:27 +01:00
Simone Bordet 8f37221b56 Updated v3 stream status codes. 2012-03-07 13:40:58 +01:00
Simone Bordet c67357f005 Fixed handling of unknown control frames. 2012-03-07 11:55:20 +01:00
Simone Bordet 156f138780 Introduced onException() callback in SessionFrameListener in case of processing exceptions.
Added test for unsupported SYN_STREAM versions.
2012-03-07 11:24:39 +01:00
Jesse McConnell f12e3c390c reset versions 2012-03-06 17:06:10 -06:00
Simone Bordet 234b2d8115 Updated NPN groupId and artifactId. 2012-03-05 22:15:51 +01:00
Simone Bordet c1de3c0727 Updated NPN groupId and artifactId. 2012-03-05 21:51:28 +01:00
Simone Bordet 839a7cb15b Fixed configuration of Jetty Maven plugin to make it work (needs to be changed because of JETTY-1494). 2012-03-05 21:31:30 +01:00
Simone Bordet fef252eb6e Added log statement that SPDY is experimental. 2012-03-05 21:03:20 +01:00
Simone Bordet c66bbae8ae Fully integrated SPDY module. 2012-03-05 20:18:21 +01:00
Simone Bordet fa4668ce5c Imported SPDY module. 2012-03-05 19:17:30 +01:00