StompSubframeAggregator Class — netty Architecture
Architecture documentation for the StompSubframeAggregator class in StompSubframeAggregator.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 9dcf2ef2_8931_4e92_a285_6b8930b23e39["StompSubframeAggregator"] aae55dc7_ab6a_ab3c_5b30_d5674cd504af["StompSubframeAggregator.java"] 9dcf2ef2_8931_4e92_a285_6b8930b23e39 -->|defined in| aae55dc7_ab6a_ab3c_5b30_d5674cd504af 6da3e593_8ed0_9d41_20d7_6fc7e6de0dd1["StompSubframeAggregator()"] 9dcf2ef2_8931_4e92_a285_6b8930b23e39 -->|method| 6da3e593_8ed0_9d41_20d7_6fc7e6de0dd1 4a3b23d5_30f1_b0fa_fc6d_02963550b964["isStartMessage()"] 9dcf2ef2_8931_4e92_a285_6b8930b23e39 -->|method| 4a3b23d5_30f1_b0fa_fc6d_02963550b964 2dde7fe3_6dcd_8d34_5944_10ad7ef90ffb["isContentMessage()"] 9dcf2ef2_8931_4e92_a285_6b8930b23e39 -->|method| 2dde7fe3_6dcd_8d34_5944_10ad7ef90ffb 9e7f46d4_7dd7_2992_c43d_3c34e16e7d1d["isLastContentMessage()"] 9dcf2ef2_8931_4e92_a285_6b8930b23e39 -->|method| 9e7f46d4_7dd7_2992_c43d_3c34e16e7d1d d6800c4b_b3fc_29cb_b67a_014ebeea01a0["isAggregated()"] 9dcf2ef2_8931_4e92_a285_6b8930b23e39 -->|method| d6800c4b_b3fc_29cb_b67a_014ebeea01a0 034f2f48_76fa_8c9a_47e1_cd5e4c59d2b4["isContentLengthInvalid()"] 9dcf2ef2_8931_4e92_a285_6b8930b23e39 -->|method| 034f2f48_76fa_8c9a_47e1_cd5e4c59d2b4 e2cf89ec_0d56_f0a3_b0e2_a5963615ee0f["Object()"] 9dcf2ef2_8931_4e92_a285_6b8930b23e39 -->|method| e2cf89ec_0d56_f0a3_b0e2_a5963615ee0f bec70c80_0f52_08a4_7d6a_e1d5db4d0ba9["closeAfterContinueResponse()"] 9dcf2ef2_8931_4e92_a285_6b8930b23e39 -->|method| bec70c80_0f52_08a4_7d6a_e1d5db4d0ba9 3548a7ee_80e7_62e2_1f35_1b0b151a1cde["ignoreContentAfterContinueResponse()"] 9dcf2ef2_8931_4e92_a285_6b8930b23e39 -->|method| 3548a7ee_80e7_62e2_1f35_1b0b151a1cde 8d2dfc2a_51a5_929d_f647_99a1ef72cc5d["StompFrame()"] 9dcf2ef2_8931_4e92_a285_6b8930b23e39 -->|method| 8d2dfc2a_51a5_929d_f647_99a1ef72cc5d
Relationship Graph
Source Code
codec-stomp/src/main/java/io/netty/handler/codec/stomp/StompSubframeAggregator.java lines 30–92
public class StompSubframeAggregator
extends MessageAggregator<StompSubframe, StompHeadersSubframe, StompContentSubframe, StompFrame> {
/**
* Creates a new instance.
*
* @param maxContentLength
* the maximum length of the aggregated content.
* If the length of the aggregated content exceeds this value,
* a {@link TooLongFrameException} will be raised.
*/
public StompSubframeAggregator(int maxContentLength) {
super(maxContentLength, StompSubframe.class);
}
@Override
protected boolean isStartMessage(StompSubframe msg) throws Exception {
return msg instanceof StompHeadersSubframe;
}
@Override
protected boolean isContentMessage(StompSubframe msg) throws Exception {
return msg instanceof StompContentSubframe;
}
@Override
protected boolean isLastContentMessage(StompContentSubframe msg) throws Exception {
return msg instanceof LastStompContentSubframe;
}
@Override
protected boolean isAggregated(StompSubframe msg) throws Exception {
return msg instanceof StompFrame;
}
@Override
protected boolean isContentLengthInvalid(StompHeadersSubframe start, int maxContentLength) {
return (int) Math.min(Integer.MAX_VALUE, start.headers().getLong(StompHeaders.CONTENT_LENGTH, -1)) >
maxContentLength;
}
@Override
protected Object newContinueResponse(StompHeadersSubframe start, int maxContentLength, ChannelPipeline pipeline) {
return null;
}
@Override
protected boolean closeAfterContinueResponse(Object msg) throws Exception {
throw new UnsupportedOperationException();
}
@Override
protected boolean ignoreContentAfterContinueResponse(Object msg) throws Exception {
throw new UnsupportedOperationException();
}
@Override
protected StompFrame beginAggregation(StompHeadersSubframe start, ByteBuf content) throws Exception {
StompFrame ret = new DefaultStompFrame(start.command(), content);
ret.headers().set(start.headers());
return ret;
}
}
Source
Frequently Asked Questions
What is the StompSubframeAggregator class?
StompSubframeAggregator is a class in the netty codebase, defined in codec-stomp/src/main/java/io/netty/handler/codec/stomp/StompSubframeAggregator.java.
Where is StompSubframeAggregator defined?
StompSubframeAggregator is defined in codec-stomp/src/main/java/io/netty/handler/codec/stomp/StompSubframeAggregator.java at line 30.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free