9603 Commits

Author SHA1 Message Date
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
Greg Wilkins
17f46665df preencoded httpfield optimisation 2014-08-06 21:09:26 +10:00
Greg Wilkins
b5971484a5 Basic push mechanism skeleton 2014-08-06 10:50:55 +10:00
Greg Wilkins
8108a811f0 extra HttpFields tests 2014-08-06 10:15:55 +10:00
Simone Bordet
22cdca9131 Merge branch 'jetty-http2' into http2_flow_control 2014-08-05 10:01:30 +02:00
Greg Wilkins
a00e65cb1f optimised HttpFields fixes 2014-08-05 17:43:31 +10:00
Greg Wilkins
bec34b460f optimised HttpFields 2014-08-05 17:26:27 +10:00