netty5/codec-http2/src/main/java/io/netty/handler/codec/http2
Norman Maurer cd7670dcaa HTTP2: Always apply the graceful shutdown timeout if configured (#9340)
Motivation:

Http2ConnectionHandler (and sub-classes) allow to configure a graceful shutdown timeout but only apply it if there is at least one active stream. We should always apply the timeout. This is also true when we try to send a GO_AWAY and close the connection because of an connection error.

Modifications:

- Always apply the timeout if one is configured
- Add unit test

Result:

Always respect gracefulShutdownTimeoutMillis
2019-07-09 21:06:22 +02:00
..
AbstractHttp2ConnectionHandlerBuilder.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
AbstractHttp2StreamChannel.java Reduce coupeling between Http2FrameCodec and Http2Multiplex* (#9273) 2019-06-27 21:51:51 +02:00
AbstractHttp2StreamFrame.java Finish work on http2 child channel implementation and http2 frame api. 2017-08-11 12:41:28 +02:00
AbstractInboundHttp2ToHttpAdapterBuilder.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
CharSequenceMap.java migrate java8 (#8779) 2019-01-28 05:55:30 +01:00
CleartextHttp2ServerUpgradeHandler.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
CompressorHttp2ConnectionEncoder.java Tighten up contract of PromiseCombiner and so make it more safe to use (#8886) 2019-02-28 20:39:37 +01:00
DecoratingHttp2ConnectionDecoder.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DecoratingHttp2ConnectionEncoder.java DecoratingHttp2ConnectionEncoder.consumeRemoteSettings must not throw if delegate is instance of Http2SettingsReceivedConsumer (#9343) 2019-07-09 14:41:29 +02:00
DecoratingHttp2FrameWriter.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DefaultHttp2Connection.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DefaultHttp2ConnectionDecoder.java HTTP/2 to support asynchronous SETTINGS ACK (#9069) 2019-04-28 11:47:50 +02:00
DefaultHttp2ConnectionEncoder.java DefaultHttp2ConnectionEncoder async SETTINGS ACK SimpleChannelPromiseAggregator promise usage 2019-04-28 11:48:24 +02:00
DefaultHttp2DataFrame.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DefaultHttp2FrameReader.java Reduce http2 buffer slicing (#8598) 2018-11-29 19:46:19 +01:00
DefaultHttp2FrameWriter.java Upgrade to new netty-build and com.puppycrawl.tools 8.18 (#8980) 2019-03-26 14:22:06 +01:00
DefaultHttp2GoAwayFrame.java use checkPositive/checkPositiveOrZero (#8835) 2019-02-04 15:55:07 +01:00
DefaultHttp2Headers.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
DefaultHttp2HeadersDecoder.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
DefaultHttp2HeadersEncoder.java Disable Huffman encoding for small headers (#9260) 2019-07-01 21:10:33 +02:00
DefaultHttp2HeadersFrame.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DefaultHttp2LocalFlowController.java use checkPositive/checkPositiveOrZero (#8835) 2019-02-04 15:55:07 +01:00
DefaultHttp2PingFrame.java Use long for http2 ping payload. 2018-02-08 10:23:34 +01:00
DefaultHttp2RemoteFlowController.java use checkPositive/checkPositiveOrZero (#8835) 2019-02-04 15:55:07 +01:00
DefaultHttp2ResetFrame.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
DefaultHttp2SettingsAckFrame.java HTTP/2 to support asynchronous SETTINGS ACK (#9069) 2019-04-28 11:47:50 +02:00
DefaultHttp2SettingsFrame.java HTTP/2 to support asynchronous SETTINGS ACK (#9069) 2019-04-28 11:47:50 +02:00
DefaultHttp2UnknownFrame.java Finish work on http2 child channel implementation and http2 frame api. 2017-08-11 12:41:28 +02:00
DefaultHttp2WindowUpdateFrame.java Finish work on http2 child channel implementation and http2 frame api. 2017-08-11 12:41:28 +02:00
DelegatingDecompressorFrameListener.java use checkPositive/checkPositiveOrZero (#8835) 2019-02-04 15:55:07 +01:00
EmptyHttp2Headers.java Method to check if a Http2 header is present and has a given value 2018-01-26 08:33:49 -08:00
HpackDecoder.java Use ByteProcessor in HpackHuffmanDecoder to reduce bound-checks and r… (#9317) 2019-07-04 08:46:29 +02:00
HpackDynamicTable.java HTTP/2 move internal HPACK classes to the http2 package 2017-03-02 07:42:41 -08:00
HpackEncoder.java Disable Huffman encoding for small headers (#9260) 2019-07-01 21:10:33 +02:00
HpackHeaderField.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
HpackHuffmanDecoder.java Simplify HpackHuffmanDecoder table decode logic (#9335) 2019-07-08 12:05:28 +02:00
HpackHuffmanEncoder.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
HpackStaticTable.java migrate java8 (#8779) 2019-01-28 05:55:30 +01:00
HpackUtil.java HTTP/2 move internal HPACK classes to the http2 package 2017-03-02 07:42:41 -08:00
Http2ChannelDuplexHandler.java Reduce coupeling between Http2FrameCodec and Http2Multiplex* (#9273) 2019-06-27 21:51:51 +02:00
Http2ClientUpgradeCodec.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
Http2CodecUtil.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
Http2Connection.java HTTP/2 goaway connection state update sequencing (#8080) 2018-07-03 19:51:16 -07:00
Http2ConnectionAdapter.java HTTP/2 Non Active Stream RFC Corrections 2017-02-01 10:34:27 -08:00
Http2ConnectionDecoder.java Http2ConnectionDecoder remove localSettings setter method 2016-08-10 12:23:03 -07:00
Http2ConnectionEncoder.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
Http2ConnectionHandler.java HTTP2: Always apply the graceful shutdown timeout if configured (#9340) 2019-07-09 21:06:22 +02:00
Http2ConnectionHandlerBuilder.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
Http2ConnectionPrefaceAndSettingsFrameWrittenEvent.java Trigger user event when H2 conn preface & SETTINGS frame are sent 2017-10-24 09:17:06 +02:00
Http2DataFrame.java Fix minor spelling issues in javadocs (#8701) 2019-01-14 07:25:13 +01:00
Http2DataWriter.java http2: count pad length field toward flow control. Fixes #5434 2016-06-25 09:51:36 -07:00
Http2Error.java Cleanup : for loops for arrays to make code easier to read and removed unnecessary toLowerCase() 2017-02-06 07:47:59 +01:00
Http2EventAdapter.java Use long for http2 ping payload. 2018-02-08 10:23:34 +01:00
Http2Exception.java Only use static Exception instances when we can ensure addSuppressed … (#9152) 2019-05-17 22:42:53 +02:00
Http2Flags.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
Http2FlowController.java HTTP/2 Ensure default settings are correctly enforced and interfaces clarified 2016-10-07 13:00:45 -07:00
Http2Frame.java Split Http2MultiplexCodec into Frame- and MultiplexCodec + Tests. Fixes #4914 2016-06-29 07:22:09 +02:00
Http2FrameAdapter.java Use long for http2 ping payload. 2018-02-08 10:23:34 +01:00
Http2FrameCodec.java Reduce object creation on Http2FrameCodec (#9333) 2019-07-06 09:14:16 +02:00
Http2FrameCodecBuilder.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
Http2FrameListener.java Use long for http2 ping payload. 2018-02-08 10:23:34 +01:00
Http2FrameListenerDecorator.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
Http2FrameLogger.java Http2FrameLogger should not extend ChannelHandlerAdapter (#9002) 2019-04-02 20:51:11 +02:00
Http2FrameReader.java HTTP/2 Max Header List Size Bug 2017-01-19 10:42:43 -08:00
Http2FrameSizePolicy.java HTTP/2 Ensure default settings are correctly enforced and interfaces clarified 2016-10-07 13:00:45 -07:00
Http2FrameStream.java HTTP/2 Remove Http2FrameStream#CONNECTION_STREAM 2018-01-14 13:31:30 +01:00
Http2FrameStreamEvent.java Finish work on http2 child channel implementation and http2 frame api. 2017-08-11 12:41:28 +02:00
Http2FrameStreamException.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
Http2FrameStreamVisitor.java Finish work on http2 child channel implementation and http2 frame api. 2017-08-11 12:41:28 +02:00
Http2FrameTypes.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
Http2FrameWriter.java Use long for http2 ping payload. 2018-02-08 10:23:34 +01:00
Http2GoAwayFrame.java Split Http2MultiplexCodec into Frame- and MultiplexCodec + Tests. Fixes #4914 2016-06-29 07:22:09 +02:00
Http2Headers.java Java 8 migration: Use diamond operator (#8749) 2019-01-22 16:07:26 +01:00
Http2HeadersDecoder.java HTTP/2 Max Header List Size Bug 2017-01-19 10:42:43 -08:00
Http2HeadersEncoder.java migrate java8: use lambda and method reference (#8781) 2019-01-29 14:06:05 +01:00
Http2HeadersFrame.java Finish work on http2 child channel implementation and http2 frame api. 2017-08-11 12:41:28 +02:00
Http2InboundFrameLogger.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
Http2LifecycleManager.java Do not fire outbound exception throught the pipeline when using Http2FrameCodec / Http2MultiplexCodec 2018-01-25 13:42:28 -08:00
Http2LocalFlowController.java http2: count pad length field toward flow control. Fixes #5434 2016-06-25 09:51:36 -07:00
Http2MultiplexCodec.java Reduce coupeling between Http2FrameCodec and Http2Multiplex* (#9273) 2019-06-27 21:51:51 +02:00
Http2MultiplexCodecBuilder.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
Http2MultiplexHandler.java Don't propagate Http2WindowUpdateFrame to the child channel / propagate Http2ResetFrame as user event when using Http2MultiplexHandler (#9290) 2019-06-27 21:53:15 +02:00
Http2NoMoreStreamIdsException.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
Http2OutboundFrameLogger.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
Http2PingFrame.java Use long for http2 ping payload. 2018-02-08 10:23:34 +01:00
Http2PromisedRequestVerifier.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
Http2RemoteFlowController.java Fix incorrect javadocs in Http2RemoteFlowController 2017-08-08 07:47:18 +02:00
Http2ResetFrame.java Split Http2MultiplexCodec into Frame- and MultiplexCodec + Tests. Fixes #4914 2016-06-29 07:22:09 +02:00
Http2SecurityUtil.java Java 8 migration: Use diamond operator (#8749) 2019-01-22 16:07:26 +01:00
Http2ServerUpgradeCodec.java Correctly handle http2 upgrades when Http2FrameCodec is used together… (#9318) 2019-07-04 08:33:09 +02:00
Http2Settings.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
Http2SettingsAckFrame.java HTTP/2 to support asynchronous SETTINGS ACK (#9069) 2019-04-28 11:47:50 +02:00
Http2SettingsFrame.java HTTP/2 Child Channel and FrameCodec Feature Parity. 2017-08-11 12:41:28 +02:00
Http2SettingsReceivedConsumer.java HTTP/2 to support asynchronous SETTINGS ACK (#9069) 2019-04-28 11:47:50 +02:00
Http2Stream.java Motivation: (#7848) 2018-04-21 08:23:15 +02:00
Http2StreamChannel.java Finish work on http2 child channel implementation and http2 frame api. 2017-08-11 12:41:28 +02:00
Http2StreamChannelBootstrap.java Split multiplexing from frame decoding to allow easier customization of frame processing and better seperation of responsibilities (#9239) 2019-06-24 10:26:12 +02:00
Http2StreamChannelId.java HTTP/2 Child Channel reading and flushing 2017-10-26 10:06:22 -07:00
Http2StreamFrame.java HTTP/2 Remove Http2FrameStream#CONNECTION_STREAM 2018-01-14 13:31:30 +01:00
Http2StreamFrameToHttpObjectCodec.java Make Http2StreamFrameToHttpObjectCodec truly @Sharable (#8482) 2018-11-09 18:23:53 +01:00
Http2StreamVisitor.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
Http2UnknownFrame.java Correctly let Http2UnkownFrame extend HttpStreamFrame and so be usable with Http2MultiplexCodec. (#7976) 2018-05-29 07:27:40 +02:00
Http2WindowUpdateFrame.java Split Http2MultiplexCodec into Frame- and MultiplexCodec + Tests. Fixes #4914 2016-06-29 07:22:09 +02:00
HttpConversionUtil.java codec-http2: Lazily translate cookies for HTTP/1 (#9251) 2019-06-19 11:04:38 +02:00
HttpToHttp2ConnectionHandler.java Http2ConnectionHandler to allow decoupling close(..) from GOAWAY graceful close (#9094) 2019-04-28 17:55:44 -07:00
HttpToHttp2ConnectionHandlerBuilder.java Use Table lookup for HPACK decoder (#9307) 2019-07-02 20:13:19 +02:00
InboundHttp2ToHttpAdapter.java migrate java8: use requireNonNull (#8840) 2019-02-04 10:32:25 +01:00
InboundHttp2ToHttpAdapterBuilder.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
InboundHttpToHttp2Adapter.java Deprecate ChannelInboundHandlerAdapter and ChannelOutboundHandlerAdapter (#8929) 2019-03-13 09:46:10 +01:00
MaxCapacityQueue.java Reduce coupeling between Http2FrameCodec and Http2Multiplex* (#9273) 2019-06-27 21:51:51 +02:00
ReadOnlyHttp2Headers.java Java 8 migration: Use diamond operator (#8749) 2019-01-22 16:07:26 +01:00
StreamBufferingEncoder.java Java 8 migration: Use diamond operator (#8749) 2019-01-22 16:07:26 +01:00
StreamByteDistributor.java HTTP/2 support pending data larger than Integer.MAX_VALUE 2017-12-20 08:55:15 -08:00
UniformStreamByteDistributor.java use checkPositive/checkPositiveOrZero (#8835) 2019-02-04 15:55:07 +01:00
WeightedFairQueueByteDistributor.java use checkPositive/checkPositiveOrZero (#8835) 2019-02-04 15:55:07 +01:00
package-info.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00