Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-01-04Happy New Year 2016Joakim Erdfelt1-1/+1
2016-01-04Happy New Year 2016Joakim Erdfelt1-1/+1
2015-11-25Merged branch 'jetty-9.3.x' into 'master'.Simone Bordet1-4/+12
2015-11-25482959 - Local stream count never decrements when closing a stream causing ↵Simone Bordet1-4/+12
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-09481718 - Improve stream interleaving.Simone Bordet1-3/+31
Introduced the constraint in the API that Stream.headers() and Stream.data() calls cannot be invoked if the previous operation did not complete. Improved interleaving by appending unfinished DATA frames at the end of the queue, rather than prepending them.
2015-07-22470727 - Thread Starvation of selector wakeups.Greg Wilkins1-3/+3
Changed the CallBack.NonBlocking to a default Callback.isNonBlocking, so that wrapping callbacks can determine if they are NonBlocking or not.
2015-03-20Renamed ISession.control() to ISession.frames().Simone Bordet1-2/+2
2015-02-27461052 - Local streams created after INITIAL_WINDOW_SIZE setting have wrong ↵Simone Bordet1-2/+1
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-18Improved handling of the stream close state.Simone Bordet1-16/+29
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-12Simplified HTTP/2 parser and its listener.Simone Bordet1-18/+14
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-11HTTP/2 API Javadocs.Simone Bordet1-1/+1
2015-02-09Fixed removal of streams upon sending the response HEADERS frame.Simone Bordet1-1/+6
2015-02-09423974 - Optimize flow control.Simone Bordet1-1/+1
Implemented a buffering FlowControlStrategy that reduces the amount of WindowUpdate exchanges.
2015-02-09First take at implementing the HttpClientTransport for HTTP2.Simone Bordet1-18/+56
2015-01-08Happy New Year 2015Joakim Erdfelt1-1/+1
2014-09-26Calling notIdle() to avoid the idle timeout triggers when sending frames.Simone Bordet1-22/+50
2014-08-21Rewritten close workflow to make sure that connections are correctly closed.Simone Bordet1-15/+4
2014-08-19Moved reset() from Session to Stream.Simone Bordet1-1/+7
2014-08-14Implemented HTTP/2 push functionality.Simone Bordet1-4/+16
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-12Updated flow control implementation to detect when senders exceedSimone Bordet1-9/+30
allowed windows.
2014-08-01Moved http2.parser.ErrorCode to http2.ErrorCodes.Simone Bordet1-2/+1
2014-06-24Improved handling of errors for streams.Simone Bordet1-13/+15
2014-06-18Implemented idle timeout functionality for streams.Simone Bordet1-11/+68
2014-06-13Split the generation of frames into 2: flow-controlled andSimone Bordet1-2/+2
non-flow-controlled. This gives better code separation and proper removal of streams when flow controlled frames complete.
2014-06-13Improved flow control logging.Simone Bordet1-6/+2
2014-06-13Removed generation of padding bytes, which simplified the code a lot.Simone Bordet1-4/+6
Implemented slicing of flow controlled data to never exceed the flow control window.
2014-06-13Implemented flow control.Simone Bordet1-20/+38
2014-06-11Put some more flesh on the HTTP2 implementation.Simone Bordet1-15/+105
2014-06-11Properly linking stream object with HEADERS frame.Simone Bordet1-5/+6
2014-06-10Improved logging.Simone Bordet1-0/+6
2014-06-10Reworked generation of frames (split into different generators) andSimone Bordet1-1/+72
sketched server-side handling and linking with channel.
2014-06-09Reorganized HTTP2 modules.Simone Bordet1-0/+57

    Back to the top