netty5/codec-http2/src/main/java/io/netty/handler/codec/http2
Scott Mitchell 7f2ddb2162 HTTP/2 Closed Streams Conditional Priority Tree Removal
Motivation:
The HTTP/2 specification allows for closed (and streams in any state) to exist in the priority tree. The current code removes streams from the priority tree as soon as they are closed (subject to the removal policy). This may lead to undesired distribution of resources from the peer's perspective.

Modifications:
- We should only remove streams from the priority tree when they have no descendant streams in a viable state.
- We should track when tree edges change or nodes are removed if inviable nodes can then be removed.

Result:
Priority tree doesn't remove closed streams until descendant are all closed, or there are no descendants.
2015-03-31 16:24:25 -07:00
..
CompressorHttp2ConnectionEncoder.java Include error code and message in GOAWAY events. 2015-03-31 09:18:26 -07:00
DecoratingHttp2ConnectionDecoder.java Cleaning up the initialization of Http2ConnectionHandler 2015-03-30 11:23:02 -07:00
DecoratingHttp2ConnectionEncoder.java Cleaning up the initialization of Http2ConnectionHandler 2015-03-30 11:23:02 -07:00
DecoratingHttp2FrameWriter.java Cleaning up the initialization of Http2ConnectionHandler 2015-03-30 11:23:02 -07:00
DefaultHttp2Connection.java HTTP/2 Closed Streams Conditional Priority Tree Removal 2015-03-31 16:24:25 -07:00
DefaultHttp2ConnectionDecoder.java Include error code and message in GOAWAY events. 2015-03-31 09:18:26 -07:00
DefaultHttp2ConnectionEncoder.java Include error code and message in GOAWAY events. 2015-03-31 09:18:26 -07:00
DefaultHttp2FrameReader.java HTTP/2 Decoder reduce preface conditional checks 2015-03-28 18:52:35 -07:00
DefaultHttp2FrameWriter.java Http2DefaultFrameWriter microbenchmark 2015-03-27 13:10:57 -07:00
DefaultHttp2Headers.java
DefaultHttp2HeadersDecoder.java Http2 draft 17 2015-03-25 09:02:15 -07:00
DefaultHttp2HeadersEncoder.java
DefaultHttp2HeaderTableListSize.java
DefaultHttp2LocalFlowController.java Include error code and message in GOAWAY events. 2015-03-31 09:18:26 -07:00
DefaultHttp2RemoteFlowController.java Removing unnecessary use of Math.ceil in HTTP/2 priority algorithm. 2015-03-31 11:03:16 -07:00
DefaultHttp2StreamRemovalPolicy.java
DelegatingDecompressorFrameListener.java Include error code and message in GOAWAY events. 2015-03-31 09:18:26 -07:00
EmptyHttp2Headers.java
Http2ClientUpgradeCodec.java
Http2CodecUtil.java Http2 draft 17 2015-03-25 09:02:15 -07:00
Http2Connection.java Include error code and message in GOAWAY events. 2015-03-31 09:18:26 -07:00
Http2ConnectionAdapter.java Include error code and message in GOAWAY events. 2015-03-31 09:18:26 -07:00
Http2ConnectionDecoder.java Cleaning up the initialization of Http2ConnectionHandler 2015-03-30 11:23:02 -07:00
Http2ConnectionEncoder.java Cleaning up the initialization of Http2ConnectionHandler 2015-03-30 11:23:02 -07:00
Http2ConnectionHandler.java Include error code and message in GOAWAY events. 2015-03-31 09:18:26 -07:00
Http2DataWriter.java Http2DefaultFrameWriter direct write instead of copy 2015-02-06 11:56:14 -08:00
Http2Error.java
Http2EventAdapter.java Include error code and message in GOAWAY events. 2015-03-31 09:18:26 -07:00
Http2Exception.java Http/2 Priority on CLOSED stream 2015-03-28 19:10:43 -07:00
Http2Flags.java
Http2FlowController.java
Http2FrameAdapter.java
Http2FrameListener.java Http/2 Priority on CLOSED stream 2015-03-28 19:10:43 -07:00
Http2FrameListenerDecorator.java HTTP/2 Decoder reduce preface conditional checks 2015-03-28 18:52:35 -07:00
Http2FrameLogger.java Using public LogLevel for HTTP/2 frame logging. 2015-03-17 15:10:35 -07:00
Http2FrameReader.java
Http2FrameSizePolicy.java
Http2FrameTypes.java
Http2FrameWriter.java Http2DefaultFrameWriter direct write instead of copy 2015-02-06 11:56:14 -08:00
Http2Headers.java
Http2HeadersDecoder.java
Http2HeadersEncoder.java
Http2HeaderTable.java
Http2InboundFrameLogger.java HTTP/2 Decoder reduce preface conditional checks 2015-03-28 18:52:35 -07:00
Http2LifecycleManager.java Consolidating HTTP/2 stream state 2015-02-04 11:53:00 -08:00
Http2LocalFlowController.java
Http2NoMoreStreamIdsException.java
Http2OrHttpChooser.java
Http2OutboundFrameLogger.java
Http2PromisedRequestVerifier.java Http2 draft 17 2015-03-25 09:02:15 -07:00
Http2RemoteFlowController.java Have FlowState.cancel take a Throwable and code cleanup. 2015-03-19 22:01:02 -07:00
Http2SecurityUtil.java
Http2ServerUpgradeCodec.java
Http2Settings.java
Http2Stream.java HTTP/2 Closed Streams Conditional Priority Tree Removal 2015-03-31 16:24:25 -07:00
Http2StreamRemovalPolicy.java
HttpToHttp2ConnectionHandler.java Cleaning up the initialization of Http2ConnectionHandler 2015-03-30 11:23:02 -07:00
HttpUtil.java
InboundHttp2ToHttpAdapter.java Include error code and message in GOAWAY events. 2015-03-31 09:18:26 -07:00
InboundHttp2ToHttpPriorityAdapter.java Include error code and message in GOAWAY events. 2015-03-31 09:18:26 -07:00
package-info.java