254 Commits

Author SHA1 Message Date
Greg Wilkins
8bd94ec6be Revert "Fixed AsyncIO double dispatch"
This reverts commit 968063c1ab64e9d19045c14850d35b137c569894.
2015-02-20 00:03:40 +11:00
Greg Wilkins
968063c1ab Fixed AsyncIO double dispatch 2015-02-19 18:13:31 +11:00
Simone Bordet
59ae845d30 Guarding against null streams when resetting.
This is possible when receiving a frame for a non-existent stream:
it is replied with a reset, but the stream object is never created.
2015-02-18 23:00:37 +01:00
Simone Bordet
84b8882624 Using TestTracker Rule in test classes. 2015-02-18 23:00:37 +01:00
Simone Bordet
d4809e9b79 Improved handling of the stream close state.
Now the stream close state is updated when the frame has been
successfully written, and when it is received.
The stream is closed in case of failures.
Just after the stream close state update, if the stream is closed
then it is removed from the session.
2015-02-18 23:00:37 +01:00
Greg Wilkins
e18573f4a3 460211 Fixed Idle race in ExecuteProduceRun
Reimplemented ExecuteProduceRun with a spin lock
2015-02-18 21:47:22 +11:00
Greg Wilkins
cb5d91df19 ignored bad http2 client test 2015-02-18 09:20:27 +11:00
Simone Bordet
fbf7679e34 Fixed compilation issue after merge. 2015-02-15 20:54:36 +01:00
Simone Bordet
28b9a0927c Merged branch 'jetty-9.2.x' into 'master'. 2015-02-15 20:51:49 +01:00
Simone Bordet
5a40ed5a0d Fixed test, and added test to check close state of pushed streams. 2015-02-13 18:08:39 +01:00
Simone Bordet
ff7e0e626a Implemented notification of session failure events. 2015-02-13 14:18:08 +01:00
Simone Bordet
9677988960 Removed TODO. 2015-02-13 13:11:59 +01:00
Greg Wilkins
a2e051c4e0 made StreamResetTest test less of a race 2015-02-13 16:15:08 +11:00
Greg Wilkins
c090f179a7 459845 - Support upgrade from http1 to http2/websocket
Added jetty-http2c.xml and http2c.mod
2015-02-13 15:06:24 +11:00
Greg Wilkins
4db654ad32 Organised http2 imports 2015-02-13 13:43:32 +11:00
Greg Wilkins
98e3a28794 459845 - Support upgrade from http1 to http2/websocket
Added test harness for h2c upgrade.
2015-02-13 13:41:14 +11:00
Greg Wilkins
c3332e7d2e 459845 - Support upgrade from http1 to http2/websocket
Added support for unofficial "upgrade" from http/1 to h2c
2015-02-13 12:16:03 +11:00
Joakim Erdfelt
7811c10727 Fixing http2-client test quirk when 2015-02-12 14:42:02 -07:00
Simone Bordet
0677735550 Simplified HTTP/2 parser and its listener.
It is not possible to perform asynchronous processing of the content
of DATA frames, because otherwise the parser has to stop, stalling
all other streams.
Parser.Listener methods were returning boolean in a vestigial attempt
to handle asynchronous data processing, and have now been converted to
return void.
2015-02-12 19:43:52 +01:00
Greg Wilkins
a147cee480 459731 - Update for drafts hpack-11 and http2-17 2015-02-12 14:45:12 +11:00
Jan Bartel
b45389ad87 Fix http2 osgi manifests and tests 2015-02-12 10:32:16 +11:00
Joakim Erdfelt
20fa13605c 459655 - Remove SPDY and NPN
+ Flattening protonego-* to alpn.mod + alpn-impl/alpn-${java.version}
2015-02-11 10:58:10 -07:00
Simone Bordet
360b72a29e HTTP/2 API Javadocs. 2015-02-11 17:44:05 +01:00
Simone Bordet
be860741d5 459655 - Remove SPDY and NPN.
Cleanup of javadocs, comments, XML and other text files.
2015-02-11 16:18:07 +01:00
Greg Wilkins
2162455b72 Removed SPDY and NPN
Because jetty 9.3 is targetted for HTTP2, we have removed support for SPDY and NPN.
2015-02-11 14:20:06 +11:00
Simone Bordet
44d262c65a Renamed GatheringCallback to CountingCallback. 2015-02-10 13:16:41 +01:00
Simone Bordet
273854835f Made HttpClientTransportOverHTTP2 a ContainerLifeCycle, so that it
can manage the start/stop of HTTP2Client.
2015-02-09 17:33:10 +01:00
Simone Bordet
3855024bba Added tests for HTTP2Client idle timeout. 2015-02-09 16:53:22 +01:00
Simone Bordet
f974c74329 Implemented HTTP2Client connect timeout. 2015-02-09 16:22:21 +01:00
Simone Bordet
85edb7e573 Improved configurability of HTTP2Client. 2015-02-09 14:24:09 +01:00
Simone Bordet
d0f0aa7c9f Fixed removal of streams upon sending the response HEADERS frame. 2015-02-09 13:26:01 +01:00
Simone Bordet
7066f65e8c 423974 - Optimize flow control.
Implemented a buffering FlowControlStrategy that reduces the amount
of WindowUpdate exchanges.
2015-02-09 13:25:32 +01:00
Simone Bordet
fa72356d1d Fixed failure of stalled frames. 2015-02-09 09:11:56 +01:00
Simone Bordet
02b5732720 First take at implementing the HttpClientTransport for HTTP2. 2015-02-09 09:11:56 +01:00
Greg Wilkins
14cd10b676 experimenting with push API 2015-02-06 13:48:34 +11:00
Greg Wilkins
f6cfe07a69 added direct buffer configuration 2015-02-05 10:02:01 +11:00
Greg Wilkins
e1cc5fb487 Merge remote-tracking branch 'origin/master' into jetty-9.3-ewyk
Conflicts:
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java
	jetty-server/src/main/java/org/eclipse/jetty/server/QueuedHttpInput.java
	jetty-util/src/main/java/org/eclipse/jetty/util/thread/NonBlockingThread.java
2015-01-08 15:21:01 +01:00
Joakim Erdfelt
a3201a3c81 Happy New Year 2015 2015-01-07 17:06:59 -07:00
Simone Bordet
5bed6323c1 Reworked buffer releasing to ensure that it is always executed before
fillInterested() is called.
This is needed to avoid race conditions where fillInterested()
triggers a new thread entering onFillable() and acquiring a new buffer
while the previous thread is releasing the previous buffer.
2015-01-02 18:43:07 +01:00
Greg Wilkins
beacb948b1 Allow configuration of ExecutionStrategy
eg -Dorg.eclipse.jetty.io.ManagedSelector.ExecutionStrategy=org.eclipse.jetty.util.thread.ExecutionStrategy$ExecuteProduceRun
2015-01-01 17:04:00 +01:00
Greg Wilkins
3af9b145a3 Deprecated the AbstractConnection dispatchIO mechanism 2015-01-01 16:18:13 +01:00
Greg Wilkins
3f59bc4c14 refactored HttpConnector for EWYK - work in progress 2014-12-23 17:15:27 +01:00
Greg Wilkins
ebaf84b97e Refactored HttpInput to use poison pills 2014-12-21 10:43:37 +01:00
Simone Bordet
448f150ac4 Cleaned up ExecutionStrategy by adding javadocs, removing methods not
used and renaming classes and methods to better names.
2014-12-19 11:25:09 +01:00
Simone Bordet
4ccd5207b5 Switched ExecutionStrategy to EWYK. 2014-12-18 17:14:34 +01:00
Simone Bordet
e35c51eb7d Implemented dispatch to the application using an ExecutionStrategy.
Now instead of having the channel to dispatch when it detects that it
has to call the application (upon receiving a HEADERS frame, or upon
a push "fake" request), now the whole mechanism is controlled by an
ExecutionStrategy.
2014-12-18 17:14:34 +01:00
Simone Bordet
7f98b64658 Clearing the buffer in case of parser errors that lead to a
connection failure.
2014-12-18 17:14:34 +01:00
Simone Bordet
1c2c83e962 Added TODO to remove references to ByteBuffer.array() without
checking whether the ByteBuffer does have a backing array.
2014-12-18 17:14:34 +01:00
Greg Wilkins
cdd2b0a9d2 refacted SelectorManager to have a ManagedSelector 2014-12-17 16:29:24 +01:00
Greg Wilkins
dfe9dc3115 Further experimentation with PushBuilder 2014-12-09 12:27:39 +01:00