DelegatingDecompressorFrameListener Class — netty Architecture
Architecture documentation for the DelegatingDecompressorFrameListener class in DelegatingDecompressorFrameListener.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 5c336d64_231e_fffd_78be_6ce616e9bc8c["DelegatingDecompressorFrameListener"] cdec0447_51ad_ffa5_e1e6_2257690237d4["DelegatingDecompressorFrameListener.java"] 5c336d64_231e_fffd_78be_6ce616e9bc8c -->|defined in| cdec0447_51ad_ffa5_e1e6_2257690237d4 e8a6a47f_a273_9748_8b60_72f65e6a6282["DelegatingDecompressorFrameListener()"] 5c336d64_231e_fffd_78be_6ce616e9bc8c -->|method| e8a6a47f_a273_9748_8b60_72f65e6a6282 57403601_677c_34ae_4ad2_1ca3c636837c["onDataRead()"] 5c336d64_231e_fffd_78be_6ce616e9bc8c -->|method| 57403601_677c_34ae_4ad2_1ca3c636837c b272741e_73ec_9c96_d9fe_7440b0e45b49["onHeadersRead()"] 5c336d64_231e_fffd_78be_6ce616e9bc8c -->|method| b272741e_73ec_9c96_d9fe_7440b0e45b49 bcf5a5ca_62ae_c13a_7d3b_1d6332684fde["EmbeddedChannel()"] 5c336d64_231e_fffd_78be_6ce616e9bc8c -->|method| bcf5a5ca_62ae_c13a_7d3b_1d6332684fde 0eb0cdd8_3703_8994_1675_6aa38f40eb4b["CharSequence()"] 5c336d64_231e_fffd_78be_6ce616e9bc8c -->|method| 0eb0cdd8_3703_8994_1675_6aa38f40eb4b dad4ac94_e709_5430_3802_707b4b8e8ca0["initDecompressor()"] 5c336d64_231e_fffd_78be_6ce616e9bc8c -->|method| dad4ac94_e709_5430_3802_707b4b8e8ca0 5d3e10a1_2485_47e9_aff0_57e2acb6d249["Http2Decompressor()"] 5c336d64_231e_fffd_78be_6ce616e9bc8c -->|method| 5d3e10a1_2485_47e9_aff0_57e2acb6d249
Relationship Graph
Source Code
codec-http2/src/main/java/io/netty/handler/codec/http2/DelegatingDecompressorFrameListener.java lines 51–494
public class DelegatingDecompressorFrameListener extends Http2FrameListenerDecorator {
private final Http2Connection connection;
private final boolean strict;
private boolean flowControllerInitialized;
private final Http2Connection.PropertyKey propertyKey;
private final int maxAllocation;
/**
* Create a new instance.
*
* @param connection the connection to read data which should be decompressed
* @param listener the delegate listener used by {@link Http2FrameListenerDecorator}
* @deprecated
* Use {@link DelegatingDecompressorFrameListener#DelegatingDecompressorFrameListener(Http2Connection,
* Http2FrameListener, int)}
*/
@Deprecated
public DelegatingDecompressorFrameListener(Http2Connection connection, Http2FrameListener listener) {
this(connection, listener, 0);
}
/**
* Create a new instance.
*
* @param connection the connection to read data which should be decompressed
* @param listener the delegate listener used by {@link Http2FrameListenerDecorator}
* @param maxAllocation maximum size of the decompression buffer. Must be >= 0.
* If zero, maximum size is not limited by decoder.
*/
public DelegatingDecompressorFrameListener(Http2Connection connection, Http2FrameListener listener,
int maxAllocation) {
this(connection, listener, true, maxAllocation);
}
/**
* Create a new instance.
*
* @param connection the connection to read data which should be decompressed
* @param listener the delegate listener used by {@link Http2FrameListenerDecorator}
* @param strict if `true`, {@link ZlibWrapper#ZLIB} will be used for the decoder,
* otherwise the decoder can fallback to {@link ZlibWrapper#NONE}
* @deprecated
* Use {@link DelegatingDecompressorFrameListener#DelegatingDecompressorFrameListener(Http2Connection,
* Http2FrameListener, boolean, int)}
*/
@Deprecated
public DelegatingDecompressorFrameListener(Http2Connection connection, Http2FrameListener listener,
boolean strict) {
this(connection, listener, strict, 0);
}
/**
* Create a new instance.
*
* @param connection the connection to read data which should be decompressed
* @param listener the delegate listener used by {@link Http2FrameListenerDecorator}
* @param strict if `true`, {@link ZlibWrapper#ZLIB} will be used for the decoder,
* otherwise the decoder can fallback to {@link ZlibWrapper#NONE}
* @param maxAllocation maximum size of the decompression buffer. Must be >= 0.
* If zero, maximum size is not limited by decoder.
*/
public DelegatingDecompressorFrameListener(Http2Connection connection, Http2FrameListener listener,
boolean strict, int maxAllocation) {
super(listener);
this.connection = connection;
this.strict = strict;
this.maxAllocation = checkPositiveOrZero(maxAllocation, "maxAllocation");
propertyKey = connection.newKey();
connection.addListener(new Http2ConnectionAdapter() {
@Override
public void onStreamRemoved(Http2Stream stream) {
final Http2Decompressor decompressor = decompressor(stream);
if (decompressor != null) {
decompressor.cleanup();
}
}
});
}
Defined In
Source
Frequently Asked Questions
What is the DelegatingDecompressorFrameListener class?
DelegatingDecompressorFrameListener is a class in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/DelegatingDecompressorFrameListener.java.
Where is DelegatingDecompressorFrameListener defined?
DelegatingDecompressorFrameListener is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/DelegatingDecompressorFrameListener.java at line 51.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free