Home / Class/ LengthFieldBasedFrameDecoderTest Class — netty Architecture

LengthFieldBasedFrameDecoderTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  645e888b_6989_fcf9_84fb_51b374370d95["LengthFieldBasedFrameDecoderTest"]
  e3c89645_38db_f333_7020_c587899a09e7["LengthFieldBasedFrameDecoderTest.java"]
  645e888b_6989_fcf9_84fb_51b374370d95 -->|defined in| e3c89645_38db_f333_7020_c587899a09e7
  f0634da7_fb20_22a8_ac4e_d13ba085dfb7["testDiscardTooLongFrame1()"]
  645e888b_6989_fcf9_84fb_51b374370d95 -->|method| f0634da7_fb20_22a8_ac4e_d13ba085dfb7
  1333cbcd_64e4_fa9d_0c9c_7991be6a547b["testDiscardTooLongFrame2()"]
  645e888b_6989_fcf9_84fb_51b374370d95 -->|method| 1333cbcd_64e4_fa9d_0c9c_7991be6a547b

Relationship Graph

Source Code

codec-base/src/test/java/io/netty/handler/codec/LengthFieldBasedFrameDecoderTest.java lines 28–89

public class LengthFieldBasedFrameDecoderTest {

    @Test
    public void testDiscardTooLongFrame1() {
        ByteBuf buf = Unpooled.buffer();
        buf.writeInt(32);
        for (int i = 0; i < 32; i++) {
            buf.writeByte(i);
        }
        buf.writeInt(1);
        buf.writeByte('a');
        EmbeddedChannel channel = new EmbeddedChannel(new LengthFieldBasedFrameDecoder(16, 0, 4));
        try {
            channel.writeInbound(buf);
            fail();
        } catch (TooLongFrameException e) {
            // expected
        }
        assertTrue(channel.finish());

        ByteBuf b = channel.readInbound();
        assertEquals(5, b.readableBytes());
        assertEquals(1, b.readInt());
        assertEquals('a', b.readByte());
        b.release();

        assertNull(channel.readInbound());
        channel.finish();
    }

    @Test
    public void testDiscardTooLongFrame2() {
        ByteBuf buf = Unpooled.buffer();
        buf.writeInt(32);
        for (int i = 0; i < 32; i++) {
            buf.writeByte(i);
        }
        buf.writeInt(1);
        buf.writeByte('a');
        EmbeddedChannel channel = new EmbeddedChannel(new LengthFieldBasedFrameDecoder(16, 0, 4));
        try {
            channel.writeInbound(buf.readRetainedSlice(14));
            fail();
        } catch (TooLongFrameException e) {
            // expected
        }
        assertTrue(channel.writeInbound(buf.readRetainedSlice(buf.readableBytes())));

        assertTrue(channel.finish());

        ByteBuf b = channel.readInbound();
        assertEquals(5, b.readableBytes());
        assertEquals(1, b.readInt());
        assertEquals('a', b.readByte());
        b.release();

        assertNull(channel.readInbound());
        channel.finish();

        buf.release();
    }
}

Frequently Asked Questions

What is the LengthFieldBasedFrameDecoderTest class?
LengthFieldBasedFrameDecoderTest is a class in the netty codebase, defined in codec-base/src/test/java/io/netty/handler/codec/LengthFieldBasedFrameDecoderTest.java.
Where is LengthFieldBasedFrameDecoderTest defined?
LengthFieldBasedFrameDecoderTest is defined in codec-base/src/test/java/io/netty/handler/codec/LengthFieldBasedFrameDecoderTest.java at line 28.

Analyze Your Own Codebase

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

Try Supermodel Free