Home / Class/ SpdySessionHandlerTest Class — netty Architecture

SpdySessionHandlerTest Class — netty Architecture

Architecture documentation for the SpdySessionHandlerTest class in SpdySessionHandlerTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  8cf70e1a_42ea_1993_5d10_4e8bc2411532["SpdySessionHandlerTest"]
  aff6d1c3_03ef_db02_f945_a9c60de6d38f["SpdySessionHandlerTest.java"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|defined in| aff6d1c3_03ef_db02_f945_a9c60de6d38f
  2430ecbe_5fd8_01c8_bb12_fbbd3a76314e["assertDataFrame()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| 2430ecbe_5fd8_01c8_bb12_fbbd3a76314e
  2045fa36_f8b8_b510_db9a_dddc7845a2b1["assertSynReply()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| 2045fa36_f8b8_b510_db9a_dddc7845a2b1
  eb2eca19_b9ab_73bf_fcff_cc734d15ad0e["assertRstStream()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| eb2eca19_b9ab_73bf_fcff_cc734d15ad0e
  71c7c344_4289_0fdc_1d8c_ece5b453c384["assertPing()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| 71c7c344_4289_0fdc_1d8c_ece5b453c384
  8e718148_fcdf_bd12_c452_390317a3ce70["assertGoAway()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| 8e718148_fcdf_bd12_c452_390317a3ce70
  da383cd7_117e_144b_e13c_7ced26864589["assertHeaders()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| da383cd7_117e_144b_e13c_7ced26864589
  f7c85d6d_2e18_e337_c3ff_b40a39d03137["testSpdySessionHandler()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| f7c85d6d_2e18_e337_c3ff_b40a39d03137
  5af2c2b0_9290_90f6_dd32_d99b3f253301["testSpdySessionHandlerPing()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| 5af2c2b0_9290_90f6_dd32_d99b3f253301
  fc0303da_b005_411c_9ecc_10715887fee7["testSpdySessionHandlerGoAway()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| fc0303da_b005_411c_9ecc_10715887fee7
  91992b44_f27a_64f8_649f_589873223924["testSpdyClientSessionHandler()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| 91992b44_f27a_64f8_649f_589873223924
  00a1770a_e05e_2efd_77d3_9f294ba7d6f4["testSpdyClientSessionHandlerPing()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| 00a1770a_e05e_2efd_77d3_9f294ba7d6f4
  64163465_b130_906b_3ea3_aa215159796d["testSpdyClientSessionHandlerGoAway()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| 64163465_b130_906b_3ea3_aa215159796d
  f67773d2_b634_84a6_45aa_e2e1c075338d["testSpdyServerSessionHandler()"]
  8cf70e1a_42ea_1993_5d10_4e8bc2411532 -->|method| f67773d2_b634_84a6_45aa_e2e1c075338d

Relationship Graph

Source Code

codec-http/src/test/java/io/netty/handler/codec/spdy/SpdySessionHandlerTest.java lines 33–392

public class SpdySessionHandlerTest {

    private static final InternalLogger logger =
            InternalLoggerFactory.getInstance(SpdySessionHandlerTest.class);

    private static final int closeSignal = SpdyCodecUtil.SPDY_SETTINGS_MAX_ID;
    private static final SpdySettingsFrame closeMessage = new DefaultSpdySettingsFrame();

    static {
        closeMessage.setValue(closeSignal, 0);
    }

    private static void assertDataFrame(Object msg, int streamId, boolean last) {
        assertNotNull(msg);
        assertTrue(msg instanceof SpdyDataFrame);
        SpdyDataFrame spdyDataFrame = (SpdyDataFrame) msg;
        assertEquals(streamId, spdyDataFrame.streamId());
        assertEquals(last, spdyDataFrame.isLast());
    }

    private static void assertSynReply(Object msg, int streamId, boolean last, SpdyHeaders headers) {
        assertNotNull(msg);
        assertTrue(msg instanceof SpdySynReplyFrame);
        assertHeaders(msg, streamId, last, headers);
    }

    private static void assertRstStream(Object msg, int streamId, SpdyStreamStatus status) {
        assertNotNull(msg);
        assertTrue(msg instanceof SpdyRstStreamFrame);
        SpdyRstStreamFrame spdyRstStreamFrame = (SpdyRstStreamFrame) msg;
        assertEquals(streamId, spdyRstStreamFrame.streamId());
        assertEquals(status, spdyRstStreamFrame.status());
    }

    private static void assertPing(Object msg, int id) {
        assertNotNull(msg);
        assertTrue(msg instanceof SpdyPingFrame);
        SpdyPingFrame spdyPingFrame = (SpdyPingFrame) msg;
        assertEquals(id, spdyPingFrame.id());
    }

    private static void assertGoAway(Object msg, int lastGoodStreamId) {
        assertNotNull(msg);
        assertTrue(msg instanceof SpdyGoAwayFrame);
        SpdyGoAwayFrame spdyGoAwayFrame = (SpdyGoAwayFrame) msg;
        assertEquals(lastGoodStreamId, spdyGoAwayFrame.lastGoodStreamId());
    }

    private static void assertHeaders(Object msg, int streamId, boolean last, SpdyHeaders headers) {
        assertNotNull(msg);
        assertTrue(msg instanceof SpdyHeadersFrame);
        SpdyHeadersFrame spdyHeadersFrame = (SpdyHeadersFrame) msg;
        assertEquals(streamId, spdyHeadersFrame.streamId());
        assertEquals(last, spdyHeadersFrame.isLast());
        for (CharSequence name: headers.names()) {
            List<CharSequence> expectedValues = headers.getAll(name);
            List<CharSequence> receivedValues = spdyHeadersFrame.headers().getAll(name);
            assertTrue(receivedValues.containsAll(expectedValues));
            receivedValues.removeAll(expectedValues);
            assertTrue(receivedValues.isEmpty());
            spdyHeadersFrame.headers().remove(name);
        }
        assertTrue(spdyHeadersFrame.headers().isEmpty());
    }

    private static void testSpdySessionHandler(SpdyVersion version, boolean server) {
        EmbeddedChannel sessionHandler = new EmbeddedChannel(
                new SpdySessionHandler(version, server), new EchoHandler(closeSignal, server));

        while (sessionHandler.readOutbound() != null) {
            continue;
        }

        int localStreamId = server ? 1 : 2;
        int remoteStreamId = server ? 2 : 1;

        SpdySynStreamFrame spdySynStreamFrame =
                new DefaultSpdySynStreamFrame(localStreamId, 0, (byte) 0);
        spdySynStreamFrame.headers().set("compression", "test");

        SpdyDataFrame spdyDataFrame = new DefaultSpdyDataFrame(localStreamId);

Frequently Asked Questions

What is the SpdySessionHandlerTest class?
SpdySessionHandlerTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/spdy/SpdySessionHandlerTest.java.
Where is SpdySessionHandlerTest defined?
SpdySessionHandlerTest is defined in codec-http/src/test/java/io/netty/handler/codec/spdy/SpdySessionHandlerTest.java at line 33.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free