55 Commits

Author SHA1 Message Date
Simone Bordet
8f356ea922 Second pass at the implementation of a reverse SPDY proxy. 2012-06-12 00:38:46 +02:00
Simone Bordet
457fdc74e5 Modified StandardStream to not depend on SynStreamFrame. 2012-06-11 14:32:14 +02:00
Simone Bordet
af836eb4b7 As per the Future contract, throw CancellationException if the Promise has been cancelled. 2012-06-11 14:23:53 +02:00
Simone Bordet
836c647fb8 Added utility method valuesAsString(). 2012-06-11 14:22:46 +02:00
Simone Bordet
4bb0a30839 Overridden allocate() to support direct buffers. 2012-06-11 14:21:03 +02:00
Simone Bordet
8894cdc31d Reviewed handling of the last stream id.
Now the last stream id is updated when a SYN is received, as the spec states.
2012-06-08 10:13:18 +02:00
Simone Bordet
7f39b8b7a4 Refactored atomic updates of max and min into utility class Atomics. 2012-06-08 09:59:36 +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
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
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
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
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
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
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
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
Thomas Becker
f362fb0b48 spdy push implementation
Change-Id: Ibca8ce444588785f13c9890370422a2dc4b149ac
2012-04-27 17:44:22 +02: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
85710fb9ea Reverted release back to 7.6.3-SNAPSHOT. 2012-04-13 16:59:06 +02: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
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
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
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
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
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
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
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
Simone Bordet
ab9bcf26b2 374258 - SPDY leaks SSLEngines 2012-03-14 16:31:29 +01: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
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