Home / Function/ testHeaderBlockMultipleDecodes() — netty Function Reference

testHeaderBlockMultipleDecodes() — netty Function Reference

Architecture documentation for the testHeaderBlockMultipleDecodes() function in SpdyHeaderBlockZlibDecoderTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  01ea6481_9239_7a5b_4dc9_5d96c9512947["testHeaderBlockMultipleDecodes()"]
  af170dea_1fdf_d9d0_0058_316c478ff6cc["SpdyHeaderBlockZlibDecoderTest"]
  01ea6481_9239_7a5b_4dc9_5d96c9512947 -->|defined in| af170dea_1fdf_d9d0_0058_316c478ff6cc
  style 01ea6481_9239_7a5b_4dc9_5d96c9512947 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http/src/test/java/io/netty/handler/codec/spdy/SpdyHeaderBlockZlibDecoderTest.java lines 86–117

    @Test
    public void testHeaderBlockMultipleDecodes() throws Exception {
        ByteBuf headerBlock = Unpooled.buffer(37);
        headerBlock.writeBytes(zlibHeader);
        headerBlock.writeByte(0); // Non-compressed block
        headerBlock.writeByte(0x15); // little-endian length (21)
        headerBlock.writeByte(0x00); // little-endian length (21)
        headerBlock.writeByte(0xea); // one's compliment of length
        headerBlock.writeByte(0xff); // one's compliment of length
        headerBlock.writeInt(1); // number of Name/Value pairs
        headerBlock.writeInt(4); // length of name
        headerBlock.writeBytes(nameBytes);
        headerBlock.writeInt(5); // length of value
        headerBlock.writeBytes(valueBytes);
        headerBlock.writeBytes(zlibSyncFlush);

        int readableBytes = headerBlock.readableBytes();
        for (int i = 0; i < readableBytes; i++) {
            ByteBuf headerBlockSegment = headerBlock.slice(i, 1);
            decoder.decode(ByteBufAllocator.DEFAULT, headerBlockSegment, frame);
            assertFalse(headerBlockSegment.isReadable());
        }
        decoder.endHeaderBlock(frame);

        assertFalse(frame.isInvalid());
        assertEquals(1, frame.headers().names().size());
        assertTrue(frame.headers().contains(name));
        assertEquals(1, frame.headers().getAll(name).size());
        assertEquals(value, frame.headers().get(name));

        headerBlock.release();
    }

Domain

Subdomains

Frequently Asked Questions

What does testHeaderBlockMultipleDecodes() do?
testHeaderBlockMultipleDecodes() is a function in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/spdy/SpdyHeaderBlockZlibDecoderTest.java.
Where is testHeaderBlockMultipleDecodes() defined?
testHeaderBlockMultipleDecodes() is defined in codec-http/src/test/java/io/netty/handler/codec/spdy/SpdyHeaderBlockZlibDecoderTest.java at line 86.

Analyze Your Own Codebase

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

Try Supermodel Free