Commit Graph

502 Commits

Author SHA1 Message Date
Greg Wilkins 58e5a54ab6 Issue #346 HttpParser RFC2616 Compliance mode
Ignore headers without values.
2016-03-05 11:03:11 +01:00
Jinho Shin 3facfb6066 Add a overridable method 'onClose' in HttpClientTransportOverHTTP2.
- able to look GoAwayFrame through 'onClose' method.

Signed-off-by: Jinho Shin <drdoteam@gmail.com>
2016-03-05 12:54:14 +09:00
Simone Bordet cec3694355 Consistently using BufferUtil, especially clearToFill() and
flipToFlush().
2016-02-29 16:31:38 +01:00
Simone Bordet b8fcc5112f Issue #372 (Data race in HttpReceiverOverHTTP2)
Fixed implementations of onData() to properly complete the callback
and to copy the data if they use it asynchronously.
2016-02-29 14:39:27 +01:00
Simone Bordet aa6de825b7 Issue #372 (Data race in HttpReceiverOverHTTP2)
Fixed by copying the buffer passed to onData().
2016-02-29 14:02:17 +01:00
Simone Bordet aadfae936c Issue #366 (Avoid HTTP2Flusher reentrancy).
Made HTTP2Flusher termination to be atomic and non-reentrant.
2016-02-29 11:32:39 +01:00
Greg Wilkins 55eb54799f Issue #346 HttpParser RFC2616 Compliance mode
Added HttpParser.Compliance field to HttpConnectionFactory
2016-02-19 11:41:07 +01:00
Simone Bordet 48c4e08b94 Issue #347 (Avoid sending request using a connection that is idle timing out).
Fixed by improving the guard with a timestamp, and checking that the
time elapsed from the last timestamp is enough to prove it is a real
idle timeout.
2016-02-19 11:36:06 +01:00
Simone Bordet 1cce6fd69f Improved logging. 2016-02-19 11:36:06 +01:00
Simone Bordet 26b6c848f3 Issue #80 (Spin loop in case of HTTP/2 prefaces without H2C).
Fixed by changing the state of the parser before calling the parser
handler callbacks, and by closing the parser if the upgrade to HTTP/2
is not successful.
2016-02-15 20:50:22 +01:00
Simone Bordet 0eef227e84 487750 - HTTP/2 push must not be recursive.
Avoid recursive pushes by pushing the whole resource tree on the
primary request, and avoid pushes for synthetic requests generated by
the pushes.
2016-02-13 11:15:58 +01:00
Simone Bordet a1a8f6aeae 486589 - HttpRequest has a wrong HTTP Version in HTTP/2. 2016-02-10 15:04:36 +01:00
Simone Bordet 6306f06e2f Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-02-09 18:12:04 +01:00
Simone Bordet 4a7fae30fb 486829 - Cancel stream error after a failed request with the HTTP/2.0 client.
Fixed by properly notifying the callback even when the exchange has
already been aborted.
2016-02-05 18:12:37 +01:00
Simone Bordet 98cd85287c 487354 - Aborted request or response does not send RST_STREAM frame.
Fixed by sending a RST_STREAM frame when the channel is aborted.
2016-02-05 18:12:37 +01:00
Simone Bordet 460c778ca1 Added Javadocs. 2016-02-05 18:12:37 +01:00
Joakim Erdfelt e0ce545ad7 Updating to version 9.3.8-SNAPSHOT 2016-01-15 17:15:14 -07:00
Joakim Erdfelt c0b191119b Updating to version 9.3.7.v20160115 2016-01-15 16:40:15 -07:00
Joakim Erdfelt b7f9c9aca9 Updating to version 9.3.7-SNAPSHOT 2016-01-13 08:21:01 -07:00
Joakim Erdfelt 21ca3f6690 Updating to version 9.3.7.RC1 2016-01-13 07:30:24 -07:00
Joakim Erdfelt cd39fd84fe Happy New Year 2016 2016-01-04 14:31:22 -07:00
Simone Bordet fdadc942e9 484818 - Expose interesting HTTP/2 attributes and operations via JMX.
Added flow control stall times and improved dump().
2015-12-28 14:30:24 +01:00
Simone Bordet 997b868ecd 484878 - Make BufferingFlowControlStrategy.bufferRatio configurable via JMX.
Made the property writable.
2015-12-24 12:10:20 +01:00
Simone Bordet 7598062bbb Improved logging. 2015-12-24 10:36:17 +01:00
Simone Bordet 30694b675b 484876 - Make simpler to customize the FlowControlStrategy.
Introduced FlowControlStrategy.Factory along with getters and setters
in relevant classes.
2015-12-24 10:32:36 +01:00
Simone Bordet 59680d47d3 484818 - Expose interesting HTTP/2 attributes and operations via JMX.
Exposed number of session stalls.
2015-12-23 16:19:08 +01:00
Simone Bordet 7a33efdf66 484861 - Improve FlowControlStrategy stall handling.
Changed the way on[Session|Stream]Stalled() is notified.
Instead that from within the HTTP2Flusher, those methods are now
called from onDataSending(), invoking them only once per stall.
2015-12-23 15:42:25 +01:00
Simone Bordet a5983c560a Avoid allocating the ALPNClientConnectionFactory if there is no
SslContextFactory.
2015-12-23 11:20:19 +01:00
Simone Bordet 14a3b2eab2 484818 - Expose interesting HTTP/2 attributes and operations via JMX.
Initial work to expose already existing attributes on the client.
2015-12-23 11:08:25 +01:00
Simone Bordet b7ab9e0a22 484818 - Expose interesting HTTP/2 attributes and operations via JMX.
Initial work to expose already existing attributes on the server.
2015-12-23 11:08:25 +01:00
Simone Bordet 8f4cc73613 484585 - Avoid sending request using a connection that is idle timing out.
Rewritten handling of idle timeouts in light of issue #484718.
2015-12-21 11:47:05 +01:00
Simone Bordet 988e596c71 484585 - Avoid sending request using a connection that is idle timing out.
Added guard to avoid that the idle timeout expires just before
sending the request.

Reworked the way idle timeouts are handled, to support the case where
the idle timeout just expired and the request can be tried on a
different connection/channel.
2015-12-18 15:56:31 +01:00
Simone Bordet 4eef2a347f Added factory method to create the HttpChannel. 2015-12-18 15:56:31 +01:00
Simone Bordet 717fc7819d 484262 - Race condition between GOAWAY disconnect and ability to make new request.
Fixed by making sure that when a peer received a GOAWAY frame, it
does not also notify the onFailure() callback.
2015-12-15 15:35:04 +01:00
Simone Bordet d4d9ceea86 Improved toString(). 2015-12-15 14:11:56 +01:00
Simone Bordet 8d28be5786 484210 - HttpClient over HTTP/2 should honor maxConcurrentStreams.
Fixed by sending queued requests in a loop up to maxConcurrentStreams.
Also updating the maxConcurrentStreams value when received from the
server.
2015-12-11 18:00:48 +01:00
Simone Bordet e674d3ec5e 483878 - Parallel requests stuck via the http client transport over HTTP/2. 2015-12-11 17:58:31 +01:00
Simone Bordet 77e0df1193 484167 - GOAWAY frames aren't handling disconnects appropriately on Client.
Improved handling of the failure case.
2015-12-11 12:34:48 +01:00
Simone Bordet c3889873f6 484167 - GOAWAY frames aren't handling disconnects appropriately on Client.
Fixed by overriding onClose() to listen for GOAWAY frames, and acting
appropriately.
2015-12-11 12:25:54 +01:00
Simone Bordet e7d8980952 Improved generate/parse tests. 2015-12-09 11:56:49 +01:00
Simone Bordet 35da4a3c54 483878 - Parallel requests stuck via the http client transport over HTTP/2.
Fixed by recycling correctly the blockBuffer.
2015-12-09 11:56:26 +01:00
Greg Wilkins a2c057892e 483039 - HTTP2 Upgrade case sensitivity on Connection header 2015-11-26 07:06:38 +11:00
Simone Bordet 3c54806d47 482959 - Local stream count never decrements when closing a stream causing IllegalStateException.
This issue was caused by removeStream(IStream, boolean) to take a
boolean parameter that indicated whether the close of the stream was
caused by a sent frame (local) or by a received frame (remote).

However, this was wrong, since a local stream may be closed by
receiving a frame. This error was causing the local and remote stream
counts held by HTTP2Session to be decremented wrongly, causing the
IllegalStateException mentioned in the bug report.

Fixed by decrementing the stream counters based on whether the stream
itself is local or remote.
2015-11-25 12:58:02 +01:00
Simone Bordet f596bf1566 Improved javadocs for onPreface(). 2015-11-25 12:58:02 +01:00
Simone Bordet 793c816c66 Improved logging. 2015-11-18 19:25:34 +01:00
Joakim Erdfelt edf686fe0a Updating to version 9.3.7-SNAPSHOT 2015-11-06 12:13:00 -07:00
Joakim Erdfelt d737e1c638 Updating to version 9.3.6.v20151106 2015-11-06 11:09:32 -07:00
Simone Bordet 58027a3421 481225 - Secondary resources with query parameters are not properly pushed.
Fixed by making PushCacheFilter remember the query parameters for
secondary resources, so that the PUSH_PROMISE frame can be correctly
generated with the query parameters.
2015-11-02 11:37:17 +01:00
Simone Bordet cbb7be040f 480260 - HPack decode error for buffers with offset.
Fixed calculations to advance the ByteBuffer.
2015-10-20 23:19:10 +02:00
Simone Bordet 3c26ffb227 480061 - HTTP/2 server doesn't send GOAWAY frame when shutting down.
Fixed by overriding Connection.close() and sending the GOAWAY from
there, which is triggered when the SelectorManager stops.

This allowed simplification of client code too.
2015-10-19 12:18:01 +02:00
Joakim Erdfelt dde32787c4 Updating to version 9.3.6-SNAPSHOT 2015-10-12 15:47:37 -07:00
Joakim Erdfelt 29722bd880 Updating to version 9.3.5.v20151012 2015-10-12 15:10:39 -07:00
Simone Bordet ccbd626cb2 479537 - Server preface sent after client preface reply.
Fixed by anticipating the onPreface() callback on server before
processing the client preface's SETTINGS frame.
2015-10-12 18:36:53 +02:00
Joakim Erdfelt 2cce7510e1 Updating to 9.3.5-SNAPSHOT 2015-10-08 17:49:09 -07:00
Joakim Erdfelt 37296bec3c Updating to version 9.3.4.v20151007 2015-10-07 14:58:38 -07:00
Simone Bordet 0ca40b59c6 479277 - HttpClient with HTTP/2 transport does not work for "https" URLs.
Fixed by reworking how ClientConnectionFactories are handled by both
HTTP2Client and by HttpClientTransportOverHTTP2, to avoid that the
latter wraps the nested factories with SslConnection twice.
2015-10-07 21:39:02 +02:00
Simone Bordet 6300480c0b Forwarding HttpClient properties to HTTP2Client at startup. 2015-09-29 12:16:00 +02:00
Simone Bordet 64ba5a6ef8 Improved usability of PingFrame. 2015-09-27 17:03:29 +02:00
Simone Bordet 83c5105e71 478434 - Priority weights should be between 1 and 256 inclusive.
Added required +1 in parsers and -1 in generators to convert from
unsigned byte to weight.
2015-09-26 00:14:45 +02:00
Simone Bordet 3dcdb9f802 Merged branch '477878' into 'master'. 2015-09-25 19:34:45 +02:00
Simone Bordet 3201d0acd2 477878 - HttpClient over HTTP/2 doesn't close upload stream.
Clarified the difference between last and consumed in HttpContent.
Fixed HTTP/2 transport to behave correctly in case of last content.
2015-09-25 19:31:40 +02:00
Simone Bordet 0c9eba0485 478275 - Priority information in HEADERS frame is not sent.
Now the priority information present in HEADERS frame is correctly
generated and sent as part of the HEADERS frame.
2015-09-25 13:00:26 +02:00
Simone Bordet 394c105d5d Cosmetics. 2015-09-25 12:39:53 +02:00
Simone Bordet f833f36c64 Cosmetics. 2015-09-21 09:34:15 +02:00
Simone Bordet d0bc20385a 477885 - Jetty HTTP2 client fails to connect with Netty server - HTTP2 client preface missing or corrupt.
Fixed by starting to read from the server only after having sent the
client preface.
2015-09-20 16:55:22 +02:00
Simone Bordet edce119c0e 477270 - Add ability to send a single PRIORITY frame.
Also fixed the mistake of sending the stream id as the parent stream id.
2015-09-14 11:51:19 +02:00
Simone Bordet dbd66b131b Introduced a HeadersFrame constructor for HEADERS frames with
unspecified stream id, to be used when creating new frames.
2015-09-14 11:51:19 +02:00
Simone Bordet 30532786cc Improved logging. 2015-09-14 11:51:19 +02:00
Simone Bordet f2a3bd8f05 477087 - Enforce that the preface contains a SETTINGS frame.
Now the ServerParser enforces that the preface bytes are followed by
a SETTINGS frame.
2015-09-10 19:04:47 +02:00
Jesse McConnell 6409366499 [maven-release-plugin] prepare for next development iteration 2015-08-27 10:11:29 -05:00
Jesse McConnell 3086adc965 [maven-release-plugin] prepare release jetty-9.3.3.v20150827 2015-08-27 10:11:21 -05:00
Jesse McConnell f8734f23ce [maven-release-plugin] prepare for next development iteration 2015-08-25 14:10:01 -05:00
Jesse McConnell e9edf4c24b [maven-release-plugin] prepare release jetty-9.3.3.v20150825 2015-08-25 14:09:54 -05:00
Simone Bordet 545fa0f72b 475605 - Add support for multi-homed destinations.
If DNS lookup returns multiple IP addresses, HttpClient tries to
connect to the first; failing that, to the second, and so on.
2015-08-24 12:31:08 +02:00
Simone Bordet fd335d6c3e Guarded against NPE. 2015-08-20 16:31:09 +02:00
Simone Bordet 69b90ef59b 474888 - HttpClient JMX support. 2015-08-13 15:16:14 +02:00
Simone Bordet aa684a5dcc 470311 - Introduce a proxy-protocol module.
Support for the PROXY protocol is now enabled via 2 new modules:
proxy-protocol and proxy-protocol-ssl, respectively for the HTTP
connector and the SSL connector.
2015-08-11 12:17:24 +02:00
Joakim Erdfelt 3c99c9c9b9 Merge branch 'release-9.3.2' 2015-08-03 10:27:52 -07:00
Simone Bordet 2a4095590d 473955 - NPE in PushCacheFilter.
Fixed by normalizing to "/" the missing path of a referrer URI.
2015-07-30 19:48:38 +02:00
Joakim Erdfelt 4b3879845d [maven-release-plugin] prepare for next development iteration 2015-07-30 07:02:10 -07:00
Joakim Erdfelt 6b7e9ac4b0 [maven-release-plugin] prepare release jetty-9.3.2.v20150730 2015-07-30 07:02:02 -07:00
Simone Bordet 25ed10d205 473118 - HTTP/2 server does not retrieve Host header from client. 2015-07-28 12:26:53 +02:00
Greg Wilkins 607239028c 470727 - Thread Starvation of selector wakeups.
Changed the CallBack.NonBlocking to a default Callback.isNonBlocking, so that wrapping callbacks can determine if they are NonBlocking or not.
2015-07-22 17:31:54 +10:00
Jesse McConnell 9b790c38ce [maven-release-plugin] prepare for next development iteration 2015-07-14 11:42:34 -05:00
Jesse McConnell b35d32f2b8 [maven-release-plugin] prepare release jetty-9.3.1.v20150714 2015-07-14 11:42:28 -05:00
Simone Bordet 9549001d8c 472422 - Custom status codes result in a NumberFormatException while using http2.
Fixed constructor that was passing the name as the value.
Also other cleanups.
2015-07-11 16:30:05 +02:00
Simone Bordet c367ea8a85 441020 - Support HEADERS followed by CONTINUATION+. 2015-07-08 18:55:47 +02:00
Greg Wilkins 30f8eb234e Allow HTTP2C to be configured separately from HTTP2 2015-06-17 15:01:17 +10:00
Joakim Erdfelt cf6c4a914e Updating version to 9.3.1-SNAPSHOT 2015-06-15 10:25:49 -07:00
Joakim Erdfelt 1a9da9f9e4 Updating versions to 9.3.0.v20150612 2015-06-12 09:34:24 -07:00
Joakim Erdfelt c6ac82f50b Merge branch 'master' into release-9.3 2015-06-12 09:30:46 -07:00
Joakim Erdfelt 7c737a587b Removing [version] sections in modules 2015-06-12 09:14:34 -07:00
Joakim Erdfelt 496b4dfc83 [maven-release-plugin] prepare for next development iteration 2015-06-11 15:08:36 -07:00
Joakim Erdfelt f53c5d8fac [maven-release-plugin] prepare release jetty-9.3.0.v20150611 2015-06-11 15:08:29 -07:00
Joakim Erdfelt 916efd6aa7 469860 - Add module metadata versioning to support backwards compat
+ Adding [version] section to all existing jetty 9.3 distro modules
+ Updating testcases in jetty-start with new [version] sections too
+ Adding extra testcases for versioned modules
2015-06-10 10:59:18 -07:00
Simone Bordet a6ff4da9b1 Made the cipher comparator a constant field. 2015-05-26 18:03:55 +02:00
Simone Bordet 1a6db17799 Added test for push with query parameters. 2015-05-26 18:03:55 +02:00
Simone Bordet 3288eb392f 468313 - PushCacheFilter wrongly associates primary resources to themselves.
Fixed by not associating secondary resources that are the same as the
primary resource.
2015-05-26 18:03:55 +02:00
Greg Wilkins bd27e7d2d4 467730 - HTTP2 requires enabled ciphers to be sorted by blacklist 2015-05-21 01:41:12 +10:00
Greg Wilkins 356600716d Draft 14 9.2.2 protection 2015-05-13 10:26:45 +10:00
Greg Wilkins 5d041ad54f 466645 Allow XmlConfiguration Properties to use Elements or Attributes 2015-05-07 16:24:11 +10:00
Simone Bordet 80f46432da Updated example to show also pushed resources. 2015-05-04 12:33:10 +02:00
Simone Bordet 39591f3443 466283 - Support specifying ALPN protocols in HTTP2Client. 2015-05-04 12:33:10 +02:00
Simone Bordet 64033e0958 Improved toString(). 2015-05-04 12:33:10 +02:00
Greg Wilkins 8b39e7ffb8 464629 JDK8 Socket customization
Added the SocketCustomizationListener class which may be added as a bean to either a Connector or a ConnectionFactory
so that customizations may be made per connector by connection type or even per connection factory.

SSL is unwrapped.
2015-04-30 11:46:10 +10:00
Simone Bordet a6cc4ff2f5 465857 - Support HTTP/2 clear-text server-side upgrade.
Fixed and test both types of upgrade, from HTTP/1.1 via its
upgrade mechanism, and direct HTTP/2.
2015-04-29 22:27:50 +02:00
Simone Bordet df63400dbe Introduced overridable configure(SocketChannel) method.
This allows subclasses to configure the socket with rarely used
options such as the traffic class and or SocketOptions.
2015-04-29 09:46:26 +02:00
Simone Bordet 2de8eb936d 464708 - Support HttpConfiguration.delayDispatchUntilContent in HTTP/2. 2015-04-24 12:36:53 +02:00
Simone Bordet 3d5164b651 Hiding exception stack printed by a successful test. 2015-04-24 12:26:36 +02:00
Joakim Erdfelt 9e6c8eade1 464727 - Update Javadoc for Java 8 DocLint 2015-04-22 12:43:22 -07:00
Simone Bordet e868ab0b0d 464706 - HTTP/2 and async I/O: onDataAvailable() not called.
Changed HTTPServerConnection to return a Runnable to be run by the
execution strategy also in case of content.
This allows onDataAvailable() to be called at the proper times.
2015-04-15 17:21:17 +02:00
Simone Bordet 0360b1cc5b Made test more reliable. 2015-04-14 22:18:45 +02:00
Simone Bordet 55e74c6867 460187 - infinite recursion in sending error.
Added test case.
2015-04-14 22:11:59 +02:00
Simone Bordet 599ab9bb1b 460671 - Rationalize property names.
Property format is now "jetty.<module|component>.<propertyName>".

Updated all references with new properties.
2015-04-13 16:21:48 +02:00
Simone Bordet ffadcd6757 444721 - PushCacheFilter cleanup/improvements.
Ported the "maxAssociations" functionality from SPDY's ReferrerPushStrategy.
Added JMX support.
Removed __renew__ special path in favour of a JMX method.
Added clearPushCache() JMX method.
Made push reentrant by eliminating the check for "org.eclipse.jetty.pushed".
2015-04-10 15:22:49 +02:00
Greg Wilkins 663ff827ed Blacklist ciphers only for h2-16 and later 2015-04-09 10:31:45 +10:00
Greg Wilkins 1cb0449be3 Organised imports 2015-03-26 12:32:15 +11:00
Simone Bordet 999177ccc2 Fixed race sending SETTINGS with INITIAL_WINDOW_SIZE.
Before, the sender was updating the window size after the SETTINGS
frame was written.
This was leading to a race where the receiver saw the updated window
size and sent DATA frames; these were received by the original sender
before it had the chance to update its local window size, causing an
error.
Now, the update of the window size happen just before writing the
SETTINGS frame to avoid this race.
2015-03-25 19:24:28 +01:00
Simone Bordet d20c7707b7 Merged branch 'jetty-9.2.x' into 'master'. 2015-03-24 20:56:26 +01:00
Simone Bordet e255bda694 459845 - Support upgrade from http1 to http2.
Simplified upgrade mechanism, and made it available through clearer
internal APIs.
2015-03-20 15:02:40 +01:00
Simone Bordet 2a21f8cb2f Renamed ISession.control() to ISession.frames(). 2015-03-20 15:02:07 +01:00
Simone Bordet 4107444beb Tests for async proxy functionality. 2015-03-20 14:53:11 +01:00
Greg Wilkins caacebc223 459845 - Support upgrade from http1 to http2
functioning implementation.  Not exactly the most elegant solution, but works with nghttp2 -u
2015-03-19 12:02:54 +11:00
Simone Bordet 81f29576e6 Prevented NPE in abort(). 2015-03-16 08:17:25 +01:00
Simone Bordet 4f0c63734c 462162 - StackOverflowException when response commit fails.
Fixed HttpChannel to avoid to stack overflow in case of unusual
exceptions thrown while committing.
Now it directly calls the transport to try to send a 500.
2015-03-15 12:10:27 +01:00
Greg Wilkins 3f795da26c 459845 - Support upgrade from http1 to http2
Generalised Upgrade Connection Factories
2015-03-13 13:59:29 +11:00
Simone Bordet ffb15aa5fb Made test more reliable.
Testing for stream.isClosed() is done in StreamCloseTest.
The tests were failing because receiving the headers does not mean
the sending the headers has notified the callback yet, and hence
closed the stream.
2015-03-12 20:54:40 +01:00
Simone Bordet feed8ea158 Small refactoring of HTTP/2 upgrade code. 2015-03-12 19:08:26 +01:00
Greg Wilkins b7d719be5f 459845 - Support upgrade from http1 to http2
Parse setting frame.
2015-03-13 00:54:33 +11:00
Simone Bordet 005870811d Fixed compilation issue: using Jetty's B64Code instead of JDK8 Base64. 2015-03-12 11:06:30 +01:00
Greg Wilkins 0dd58d2efe 459845 - Support upgrade from http1 to http2
Moved the sneaky direct upgrade to its own method and added support to detect a standard upgrade.
The standard upgrade now creates the h2c connection and decodes the settings header, but it does not yet process the
settings nor send a response to the request.
2015-03-12 16:52:17 +11:00
Simone Bordet a7cfc3dc2d Renamed methods in FlowControlStrategy. 2015-03-11 20:38:40 +01:00
Simone Bordet 36f317382f More flow control tests. 2015-03-11 18:43:00 +01:00
Simone Bordet 8673c6bba7 Clarified test and made it more reliable. 2015-03-11 17:12:38 +01:00
Simone Bordet 1dbf2be343 423974 - Optimize flow control.
Don't send the window update if the stream is closed.
2015-03-11 17:11:16 +01:00
Simone Bordet 560ec6301e 423974 - Optimize flow control.
Made the buffering flow control strategy the default.
2015-03-11 16:27:31 +01:00
Simone Bordet 48887377c9 459081 - http2 push failures.
Introduced ExecutionStrategy.dispatch() to handle the case where
resources that are being pushed block.
2015-03-11 00:12:57 +01:00
Simone Bordet 4caf991e44 Made test run only under JDK 8. 2015-03-02 16:39:31 +01:00
Simone Bordet 9f76995086 Restored ALPN tests. 2015-03-02 13:17:26 +01:00
Simone Bordet 73821e7ac6 461052 - Local streams created after INITIAL_WINDOW_SIZE setting have wrong send window.
Fixed by tracking both send and recv initial stream windows.
This is needed because both client and server may send an
INITIAL_WINDOW_SIZE setting, and they must be treated
separately.
2015-02-27 19:21:35 +01:00
Simone Bordet b533aa6ce5 Made tests more stable.
Naked writes could throw WritePendingException.
Now we wait until the client has finished sending the reply to the
server SETTINGS frame, then we do the naked write.
2015-02-27 12:30:42 +01:00
Simone Bordet 7c315ebce5 Fixed test. 2015-02-24 15:59:32 +01:00
Simone Bordet 6ad90c259c Fixed test. 2015-02-24 14:51:30 +01:00
Joakim Erdfelt aac427ab8c Fixing compile error 2015-02-23 18:16:30 -07:00
Greg Wilkins 5d6bb9f5d0 460210 - ExecutionStragegy producer for SelectManager calls onOpen from produce method
Additional refactoring to better handle HttpInput state.   Moved the unready and read possible states into the HttpChannelState
2015-02-23 23:06:23 +11:00
Simone Bordet 58ea526b56 Notifying client connection's promise from onOpen().
The client connection's promise was succeeded in the context of a
call to SelectorManager.newConnection().
This was wrong, since succeeding the promise may trigger the send
of a request *before* the connection is actually linked to the
endPoint and opened.

This change moves the succeeding of the client connection's promise
to the connection onOpen() method.
2015-02-20 18:23:31 +01:00
Joakim Erdfelt 08b4bd439e Fixing tests on http2-hpack
+ HttpField.nameHashCode() fixed to actually be US-ASCII case
  insensitive per documentation
+ Since removal of MetaData equals/hashcode, the comparison
  of the MetaData and MetaData.Response is now done entirely
  within the HpackTest
2015-02-20 10:16:03 -07:00
Greg Wilkins b60ea47ef4 Revert "Revert "Fixed AsyncIO double dispatch""
This reverts commit 8bd94ec6be.
This is a revert of the revert to add back in the useful debug, plus some TODO comments describing the problems
2015-02-20 00:18:29 +11:00
Greg Wilkins 8bd94ec6be Revert "Fixed AsyncIO double dispatch"
This reverts commit 968063c1ab.
2015-02-20 00:03:40 +11:00
Greg Wilkins 968063c1ab Fixed AsyncIO double dispatch 2015-02-19 18:13:31 +11:00