Commit Graph

9609 Commits

Author SHA1 Message Date
Simone Bordet 09d54eacab Accounting for the session flow control window in case of reset streams. 2014-08-19 13:38:43 +02:00
Simone Bordet 728a7c3442 Made push functionality honor configuration parameter sent via SETTINGS. 2014-08-15 18:34:20 +02:00
Simone Bordet 75912deb52 Updated parameter name from "associateDelay" to "associatePeriod". 2014-08-15 18:07:41 +02:00
Simone Bordet c7987b154a Reverted logging of HTTP2 tests from DEBUG to INFO. 2014-08-15 17:29:38 +02:00
Simone Bordet 81ded3cddd Added JMX annotations to PushCacheFilter. 2014-08-15 16:59:16 +02:00
Greg Wilkins 1c71040eca moved config plugin to profile 2014-08-15 19:53:52 +10:00
Greg Wilkins b47f9ef605 cleaned up OSGi manifest creation 2014-08-15 19:35:49 +10:00
Simone Bordet 48b1f9f3f1 Implemented HTTP/2 push functionality.
A PushCacheFilter contains the logic to associate secondary resources
to primary resources.
PushCacheFilter calls a Jetty-specific API on the request dispatcher:
Dispatcher.push(ServletRequest). This is a technology preview of the
push functionality slated for Servlet 4.0.
The push() invocation arrives to the transport and it is converted to
HTTP/2 specific PUSH_PROMISE, along with the mechanism to simulate
the request for the secondary resource.
2014-08-14 23:05:35 +02:00
Simone Bordet a2360bd542 Fixed creation of HttpURI for push requests. 2014-08-14 23:00:21 +02:00
Greg Wilkins a14d843382 ignored osgi-spdy tests 2014-08-14 15:18:28 +10:00
Greg Wilkins f81bb4c000 update OSGi for ssl home and base 2014-08-14 11:21:08 +10:00
Greg Wilkins 98b654ba20 Merge remote-tracking branch 'origin/master' into jetty-http2
Conflicts:
	jetty-distribution/pom.xml
2014-08-14 08:38:25 +10:00
Greg Wilkins 18b6a9b3d9 435533 Handle 0 sized async gzip 2014-08-14 07:48:27 +10:00
Greg Wilkins 2af613a28b improved debugging output 2014-08-13 15:56:02 +10:00
Jan Bartel 9a848e3425 Prevent copy of unncessary apache-jstl jar to distro lib. 2014-08-13 15:42:17 +10:00
Jan Bartel 89d189ad3a Update to org.mortbay.apache.jsp 8.0.9.M1 2014-08-13 15:30:40 +10:00
Jan Bartel a183219ac8 441479 Jetty hangs due to deadlocks in session manager 2014-08-13 13:47:30 +10:00
Greg Wilkins b983fab972 Merge remote-tracking branch 'origin/master' into jetty-http2 2014-08-13 13:44:06 +10:00
Greg Wilkins 68a3ca8e31 improved debug logging of settings 2014-08-13 12:00:32 +10:00
Jan Bartel aedfb662b6 441649 - Update to jsp and el Apache Jasper 8.0.9 2014-08-13 11:01:05 +10:00
Simone Bordet a97d4642ab Improved toString() methods for frames. 2014-08-12 23:01:03 +02:00
Simone Bordet 14dc4fade0 Updated log statements to use debug() instead of info(). 2014-08-12 22:32:17 +02:00
Simone Bordet 20963c9c61 Refactored host and port to local variables. 2014-08-12 18:54:50 +02:00
Simone Bordet 814c84a212 Introduced configuration properties for ALPN/NPN advertised protocols.
No more need to copy protonego-alpn.xml to a jetty.base to specify
which protocols are advertised and in which order.
Instead, simply specify:

alpn.protocols=h2-14,http/1.1
alpn.defaultProtocol=http/1.1

in start.ini (in the example above for http2).
2014-08-12 18:54:33 +02:00
Simone Bordet e147ce9528 Updated flow control implementation to detect when senders exceed
allowed windows.
2014-08-12 16:37:41 +02:00
Simone Bordet 4f4c3604a2 Made the test more reliable. 2014-08-12 16:27:33 +02:00
Simone Bordet d2fa4dca60 Introduced configuration properties for ALPN/NPN advertised protocols.
No more need to copy protonego-alpn.xml to a jetty.base to specify
which protocols are advertised.
Instead, simply specify:

protonego.protocols=h2-14,http/1.1
protonego.defaultProtocol=http/1.1

in start.ini (in the example above for http2).
2014-08-11 23:59:26 +02:00
Simone Bordet d26a003d4c Removed configuration for SPDY/2. 2014-08-11 23:46:00 +02:00
Simone Bordet 107a4fff20 Fixed handling of INITIAL_WINDOW_SIZE setting.
It must update only stream windows, and not the session window.
2014-08-11 18:43:50 +02:00
Simone Bordet 187c42fa4a Closing the flusher instead of just disconnecting after a GO_AWAY.
This ensures that frames that may have been added to the flusher queue
concurrently after the GO_AWAY are properly failed and the queue
drained.
2014-08-11 11:30:49 +02:00
Simone Bordet 59a9c0890c Fixed off-by-one in counting the padding bytes. 2014-08-08 23:53:18 +02:00
Simone Bordet f8086dc7c2 Refactored the send of the SETTINGS frame from the client.
It's now sent after a call to onPreface(), which has been moved to
the common interface Session.Listener (from ServerSession.Listener),
so that client applications can customize the SETTINGS to send to the
server.
2014-08-08 23:52:20 +02:00
Simone Bordet ab96bf775f Removed unneeded casting to DataFrame. 2014-08-08 18:19:02 +02:00
Simone Bordet 3ace246cff Catching Throwable instead of Exception. 2014-08-08 18:16:56 +02:00
Greg Wilkins 5da39140df remove old TODOs 2014-08-08 18:30:56 +10:00
Greg Wilkins c7d0bfce20 basic push cache filter 2014-08-08 18:01:09 +10:00
Greg Wilkins 4d7ead76ce basic push cache filter 2014-08-08 17:01:05 +10:00
Simone Bordet 6b9a069d9d Waiting for all the frames to arrive before stopping. 2014-08-08 01:11:59 +02:00
Simone Bordet 466d8db8d8 Sending a SETTINGS frame after the preface, as required by the spec. 2014-08-08 01:11:59 +02:00
Simone Bordet 69927b935e Don't send a window update if the length is zero. 2014-08-08 01:11:59 +02:00
Greg Wilkins 6dfa452e29 case insensitive protocols 2014-08-07 19:00:31 +10:00
Greg Wilkins 55aa2a07b4 Merge remote-tracking branch 'origin/master' into jetty-http2 2014-08-07 15:29:12 +10:00
Greg Wilkins 1d5998f02e 441073 isEarlyEOF on HttpInput 2014-08-07 15:05:22 +10:00
Greg Wilkins 287e86b7aa decomposed https,http2 and spdy modules to share ServerConnector 2014-08-07 12:58:12 +10:00
Greg Wilkins a4d4b3ab57 fix work around classloaders for field preencoders 2014-08-07 09:22:22 +10:00
Greg Wilkins 64e49a1fe5 work around classloaders for field preencoders 2014-08-07 09:10:35 +10:00
Simone Bordet 55dec378fc Merged branch 'jetty-http2' into 'http2_flow_control' 2014-08-06 15:43:56 +02:00
Simone Bordet abd139cc1b Reworked flow control implementation. Splitted HTTP2Flusher out of HTTP2Session.
Flow control window updates are now processed by the flusher, so that
it is the only component that handles window updates.
In the process of this refactoring, HTTP2Flusher was refactored out
of HTTP2Session.
2014-08-06 15:42:36 +02:00
Simone Bordet 2cd53831c0 Refactored onReadTimeout() to parent class. 2014-08-06 15:39:29 +02:00
Simone Bordet 015c34d865 Fixed handling of the close state in case it's already closed. 2014-08-06 15:21:33 +02:00