Home / Class/ StompSubframeAggregator Class — netty Architecture

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;
    }
}

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